1)gdb主要完成三方面功能:
啟動被除錯程式;
讓被除錯程式在指定位置停住;
當程式被停住時,可以檢查程式狀態(如變數值)。
2)gdb命令:
啟動gdb(兩種方法):
<1> gdb 除錯程式名 (如: gdb helloword)
<2> gdb
file 除錯程式名
list(l) : 檢視程式 (括號內表示也可用縮寫)
break(b) 函式名 :在某函式入口處新增斷點
break(b) 行號 :在指定行新增斷點
break(b) 檔名:行號 :在指定檔案的指定行新增斷點
如: b test.c:25 在test.c檔案的第25行打乙個斷點
break(b) 行號 if 條件 :當條件為真時,指定行號處斷點生效
如: b 5 if i=10 當i等於10時第5行斷點生效
info break :檢視所有設定的斷點
delete 斷點編號 :刪除斷點
run(r) :開始執行程式
next(n) :單步執行程式(不進入子函式)
step(s) :單步執行程式(進入子函式)
continue(c) :繼續執行程式
print(p) 變數名 :檢視指定變數值
finish :執行程式,直到當前函式結束
watch 變數名 :對指定變數進行監控
quit(q) :退出gdb
linux下的gdb除錯
如果編譯時,增加了引數 g,就會生成帶源 除錯符號的可執行檔案。增加的除錯符號一般會使檔案變的大一點。gcc o xx xx.c g 進一步地,就可以執行下面的指令啟動除錯工具進入除錯環境對程式進行除錯了。gdb xx 在除錯環境下,可以輸入下列指令來控制除錯。l n第乙個字母是小寫的l,列出第n行...
Linux的GDB除錯技術
hchen test 補充gdb除錯中動態顯示執行的 在gdb除錯中,大家都知道使用list命令來顯示 例如 顯示main.c中的main函式附近的 list main.c main 顯示main函式附近的 list main 顯示main.c中的第2到20行的 list main.c 2,20 顯...
Linux除錯技術GDB命令
一 常規除錯 gdb是linux下常用的程式除錯工具,當然前提是用gcc g 編譯時加上 g引數,這樣編譯出的可執行程式會加上gdb除錯資訊。gdb命令不少,但常用的主要包括如下命令 1 list file functuon 命令縮寫是l,檢視原始碼,不加引數時,向下顯示原始碼,加引數 l時,向上顯...