gdb最基本的除錯命令.
1以除錯程式test.cpp
為例:
進入除錯環境 gdb test
2.b 12
在檔案的第12
行設定斷點。
刪除斷點:
info b 列出所有的斷點資訊
(gdb) info b
num type disp enb address what
1 breakpoint keep y 0x004010f1 in main at test.cpp:17
breakpoint already hit 1 time
2 breakpoint keep y 0x00401120 in main at test.cpp:23
breakpoint already hit 1 time
要刪除第2個斷點
d 2如果不指定斷點號,則表示刪除所有的斷點
3.r –d
執行當前被除錯的程式
.-d是執行引數
4.p variable
列印資料內容
5.l列出產生執行檔案的源**的一部分.
6.n執行一行源**但不進入函式內部。
7.s執行一行源**而且進入函式內部。
8.c繼續執行程式,直至下一中斷或者程式結束。
9.k終止正在除錯的程式.
10.q
終止gdb.
附註:基本
gdb命令:
命令 簡寫
功能file
裝入想要除錯的可執行檔案.
kill k
終止正在除錯的程式.
list l
列出產生執行檔案的源**的一部分.
next n
執行一行源**但不進入函式內部.
step s
執行一行源**而且進入函式內部.
continue c
繼續執行程式,直至下一中斷或者程式結束。
run r
執行當前被除錯的程式.
quit q
終止gdb.
watch
使你能監視乙個變數的值而不管它何時被改變.
catch
設定捕捉點.
thread t
檢視當前執行程式的執行緒資訊.
break b
在**裡設定斷點
, 這將使程式執行到這裡時被掛起.
make
使你能不退出
gdb
就可以重新產生可執行檔案.
shell
使你能不離開
gdb
就執行unix shell 命令.
print p
列印資料內容。
examine x
列印記憶體內容。
backtrace bt
檢視函式呼叫棧的所有資訊。
gdb除錯小結
二 資訊顯示 三 斷點 四 其他參考 當以gdb方式啟動gdb後,gdb會在path路徑和當前目錄中搜尋的原始檔。如要確認gdb是否讀到原始檔,可使用l或list命令,看看gdb是否能列出源 使用 gdb r或run命令執行程式。gdb p pid是程序id,可以通過 ps aux grep 程式名...
gdb 除錯 vs除錯
一 先要生成二進位制檔案 g g 1.cpp o 1.out g引數不要省,不然 gdb l 引數用不了 二 引數 設定斷點 設定 函式斷點break func 在某行設定斷點break 7 檢視斷點資訊 info break 刪除斷點 d 刪除所有斷點 d 3 刪除第三個 執行 r 下一步 n 逐...
GDB除錯命令以及GDB除錯段錯誤
一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...