GDB是GNU開源組織發(fā)布的一個(gè)強(qiáng)大的UNIX下的程序調(diào)試工具;蛟S,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調(diào)試,但如果你是在UNIX平臺(tái)下做軟件,你會(huì)發(fā)現(xiàn)GDB這個(gè)調(diào)試工具有比VC、BCB的圖形化調(diào)試器更強(qiáng)大的功能。所謂“寸有所長,尺有所短”就是這個(gè)道理。
GDB的使用
當(dāng)程序出錯(cuò)并產(chǎn)生core 時(shí)
快速定位出錯(cuò)函數(shù)的辦法
gdb 程序名 core文件名(一般是core,也可能是core.xxxx)
調(diào)試程序使用的鍵
r run 運(yùn)行.程序還沒有運(yùn)行前使用
c cuntinue 繼續(xù)運(yùn)行。運(yùn)行中斷后繼續(xù)運(yùn)行
q 退出
kill 終止調(diào)試的程序
h help 幫助
<tab> 命令補(bǔ)全功能
step 跟入函數(shù)
next 不跟入函數(shù)
b breakpoint 設(shè)置斷點(diǎn)。
用法:
b 函數(shù)名 對(duì)此函數(shù)進(jìn)行中斷
b 文件名:行號(hào) 對(duì)此文件中指定行中斷.假如是當(dāng)前文件,那么文件名與:號(hào)可以
省略
看當(dāng)前斷點(diǎn)數(shù)使用info break.禁止斷點(diǎn)disable 斷點(diǎn)號(hào).刪除delete 斷點(diǎn)號(hào).
l list 列出代碼行。一次列10 行。連接使用list將會(huì)滾動(dòng)顯示. 也可以在list 后面
跟上 文件名:行號(hào)
watch 觀察一個(gè)變量的值。每次中斷時(shí)都會(huì)顯示這個(gè)變量的值
p PRint 打印一個(gè)變量的值。與watch不同的是print只顯示一次
這里在順便說說如何改變一個(gè) value. 當(dāng)你下指令 p 的時(shí)候,例如你用 p b,
這時(shí)候你會(huì)看到 b 的 value, 也就是上面的 $1 = 15.
你也同樣可以用 p 來改變一個(gè) value, 例如下指令 p b = 100 試試看,
這時(shí)候你會(huì)發(fā)現(xiàn), b 的 value 就變成 100 了:$1 = 100.
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版