編譯程序的時(shí)候 加上 -g 選項(xiàng),它能在程序中加入調(diào)試信息。從而可以
成都創(chuàng)新互聯(lián)公司從2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元耀州做網(wǎng)站,已為上家服務(wù),為耀州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18980820575
使用GDB調(diào)試。
例如: gcc test.c -g -o test
然后 輸入 gdb test ,進(jìn)入gdb 調(diào)試, list 命令列出代碼。
在哪一行設(shè)置斷點(diǎn)就輸入 break n ,
比如在第10行 就是 break 10 ,
run 是運(yùn)行程序,到斷點(diǎn)出 就停止,
print 變量名 可以觀察變量的值,
cont 是繼續(xù)運(yùn)行,
n 是 next ,一步一步執(zhí)行
你上網(wǎng)再搜索一些 關(guān)于 gdb 的信息 ,就可以了
gdb是GNU開(kāi)源組織發(fā)布的一個(gè)強(qiáng)大的Linux程序調(diào)試工具,比圖形化的調(diào)試工具更強(qiáng)大,主要來(lái)調(diào)試C/C++語(yǔ)言程序。
Debug 版本的可執(zhí)行程序包含調(diào)試信息,用于程序員調(diào)試程序。
Release 版本的可執(zhí)行程序往往是進(jìn)行了各種優(yōu)化,使得程序在代碼大小和運(yùn)行速度上都是最優(yōu)的,以方便用戶(hù)使用。
用gcc/g++編譯時(shí),要加上-g選項(xiàng)生成debug版本的可執(zhí)行程序,否則就無(wú)法使用gdb調(diào)試了。
r 表示開(kāi)始run, 如果在運(yùn)行的過(guò)程中發(fā)生了錯(cuò)誤,比如segmentation fault,可以查看此時(shí)的出錯(cuò)源代碼:
通過(guò)b或者break設(shè)置斷點(diǎn),斷點(diǎn)的設(shè)置可以通過(guò)函數(shù)名、行號(hào)、文件名+函數(shù)名、文件名+行號(hào)以及偏移量、地址等進(jìn)行設(shè)置。
比如在function Peer_auto_save上設(shè)置斷點(diǎn),在peer.c的第136行設(shè)置斷點(diǎn):
從斷點(diǎn)處繼續(xù)運(yùn)行
退出gdb
在Linux斷點(diǎn)調(diào)試命令窗口中讀取數(shù)據(jù),可以使用以下命令:
1. x/nfu addr: 使用指定的格式和大小從指定地址讀取數(shù)據(jù)。n表示要讀取的數(shù)據(jù)數(shù)量,f表示數(shù)據(jù)格式,u表示數(shù)據(jù)大小。
2. info registers: 查看當(dāng)前程序中各個(gè)寄存器的值。
3. disassemble: 查看當(dāng)前程序指令的匯編代碼。
4. print: 打印當(dāng)前程序的變量的值。
5. stepi/si: 執(zhí)行一條匯編指令。
6. nexti/ni: 執(zhí)行一條匯編指令,但不進(jìn)入函數(shù)體內(nèi)部。
本文標(biāo)題:linux設(shè)置斷點(diǎn)命令 linux設(shè)置斷開(kāi)時(shí)間
本文來(lái)源:http://www.rwnh.cn/article14/dogipde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站設(shè)計(jì)公司、ChatGPT、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)