gdb除錯工具: 大前提:程式是你自己寫的。 ---邏輯錯誤
基礎指令:
-g:使用該引數編譯可以執行檔案,得到除錯表。
gdb ./a.out
list: list 1 列出原始碼。根據原始碼指定 行號設定斷點。
b: b 20 在20行位置設定斷點。
run/r: 執行程式
n/next: 下一條指令(會越過函式)
s/step: 下一條指令(會進入函式)
p/print:p i 檢視變數的值。
continue:繼續執行斷點後續指令。
finish:結束當前函式呼叫。
quit:退出gdb當前除錯。
其他指令:
run:使用run查詢段錯誤出現位置。
set args: 設定main函式命令列引數 (在 start、run 之前)
run 字串1 字串2 ...: 設定main函式命令列引數
info b: 檢視斷點資訊表
b 20 if i = 5: 設定條件斷點。
ptype:檢視變數型別。
bt:列出當前程式正存活著的棧幀。
frame: 根據棧幀編號,切換棧幀。
display:設定跟蹤變數
undisplay:取消設定跟蹤變數。 使用跟蹤變數的編號。
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...
GDB常用除錯命令
呼叫gdb編譯需要在cc後面加 g引數再加 o root redhat home gdb 除錯檔案 啟動gdb gdb l 字母l 從第一行開始列出原始碼 gdb break n 在第n行處設定斷點 gdb break func 在函式func 的入口處設定斷點 gdb info break 檢視斷...