1.debug模式編譯(gcc -g countgdb.c -o countgdb)(退出gdb模式後,所有斷點需重新設定)
2.gdb countgdb 後設定斷點
設定斷點 :(b 10 或者 b 函式名 或者 b 15行 if x>1 對應第10行設定乙個斷點,或者對函式名設定斷點,或者對應在15行設定條件斷點,info break縮寫i b檢視有無斷點和觀察點)
刪除斷點:d 3,刪除第3個斷點。
3.執行除錯 r(un) c(ontinue) q(uit)
gdb模式下直接 r 或者c 或者 q
4.單步除錯
n(ext)–step over(直接調完子函式而不是跟入函式內部)
s(tep)–step into(跟入函式體內部)
f(inish)–step return(返回當前函式,退出)
5.繼續執行(continue)
6.列印和監控值(wi的話會有乙個類似圖形的介面出來)
監控watch 監控乙個值 ,c列印新舊值。
p(rint),設定乙個watch point
3 GDB程式除錯及Coredum
gdb是gnu發布的一款功能強大的程式除錯工具。gdb主要完成下面三個方面的功能 1 啟動被除錯程式。2 讓被除錯的程式在指定的位置停住。3 當程式被停住時,可以檢查程式狀態 如變數值 1.編譯生成可執行檔案 gcc g tst.c o tst 2.啟動gdb gdb tst 3.在 main函式處...
linux 基本篇 學習筆記(3) gdb除錯
進行gdb除錯是在linux下進行程式開發的常用操作。如 檢視 list 當前檔案 l 非當前檔案 l 行號 斷點操作 break b 設定斷點 b 行號 b 函式名 b 檔名 行號 b檔名 函式名 檢視斷點 info i b 刪除斷點 d num 斷點的編號 刪除多個 d num1 num2 d ...
gdb除錯相關
3.2.1 斷點的工作原理 在本書的所有地方都使用了status breakpoint異常,尤其是在本章中,但卻沒有很明確地解釋這個異常的引發方式。現在,我們就來解釋如何在程序中產生這個異常。在x86指令集中包含了乙個特殊的指令int 3,這個指令將在處理器上產生硬體中斷status breakpo...