gdb是gnu發布的一款功能強大的程式除錯工具。gdb主要完成下面三個方面的功能:
1.啟動被除錯程式
2.讓被除錯的程式在指定的位置停住。
3.當程式被停住時,可以檢查程式狀態(如變數值)。
1.編譯生成可執行檔案:
gcc -g tst.c -o tst
2.啟動gdb
gdb tst
3.在main函式處設定斷點
break main
4.執行程式
run5.單步執行
next
6.繼續執行
continue (連續執行 輸入 c)
1.gdb 除錯程式名
例: gdb helloworld
2.gdb
file 除錯程式名
list(1)
檢視程式
break(b)
函式名在某函式入口處新增斷點
break
(b)行號
在指定行新增斷點
break(b) 檔名
:行號在指定檔案的指定行新增斷點
break(b) 行號 if條件
當調價為真時,執行那個行號處斷點生效,例b 5 if i=10,當i等於10時第5行斷點生效
info break
檢視所有設定的斷點
delete 斷點編號
刪除斷點
run(r)
開始執行程式
next(n)
單步執行程式(不進入子函式)
next(n)
單步執行程式(進入子函式)
continue(c)
繼續執行程式
print 變數名
檢視指定變數值
finish
執行程式,直到當前函式結束
watch
變數名 對指定變數進行監控
quit
退出gdb
程式除錯gdb基礎
gcc 編譯器 gcc是linux平台下最重要的開發工具,它是gnu的c和c 編譯器,它總共提供的編譯選項超過100個,但只有少數幾個會被頻繁使用,收集如下。其基本用法為 gcc options filenames 最簡單的編譯方法是不指定任何編譯選項,會為目標程式生成預設的檔名a.out o 為將...
GDB除錯基礎
breakpoint 2,func n 250 at tst.c 5 5 int sum 0,i gdb n 6 for i 1 i n i gdb p i 列印變數i的值,print命令簡寫。1 134513808 gdb n 8 sum i gdb bt 檢視函式堆疊。0 func n 250 ...
GDB除錯基礎
要使用gdb除錯,gcc編譯時要加上 g 選項,這樣生成的可執行檔案才能被gdb除錯。基礎指令 l list 表示檢視源 後可跟數字num如 l num,表示檢視 的位置。b break 表示設定斷點的位置。b 20 if i 5,用此種方式設定條件斷點,即當for迴圈到i 5時才中斷。delete...