gdb除錯基礎常用

2022-06-28 14:42:13 字數 659 閱讀 1635

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 檢視斷...