gdb除錯常見指令總結

2021-10-22 03:22:35 字數 884 閱讀 1652

前提:除錯的程式編譯時需要使用 -g 命令

1. 啟動gdb

start -- 只執行一步

n -- next

s -- step(單步) -- 可以進入到函式體內部

c - continue -- 直接停在斷點的位置

2. 檢視**

l -- list

l 10(函式名)

l filename:行號(函式名)

3. 設定斷點

設定當前檔案斷點:

b -- break

b 10(函式名)

b filename:行號(函式名)

設定條件斷點:

b 10 if value==19

刪除斷點:

delete -- del - d

d 斷點的編號

獲取編號: info -- i

4. 檢視設定的斷點

info b

5. 開始 執行gdb除錯

執行一步操作:

繼續執行:

執行多步, 直接停在斷點處:

6. 單步除錯

進入函式體內部: s

從函式體內部跳出: finish

不進入函式體內部: n

退出當前迴圈: u

7. 檢視變數的值

p -- print

8. 檢視變數的型別

ptype 變數名

9. 設定變數的值

set var 變數名 = 賦值

10. 設定追蹤變數

display

取消追蹤變數

undisplay 編號

獲取編號: info display

11. 退出gdb除錯

quit

手冊 GDB除錯指令

gdb l list 列出 line 5 行到 line 1 5 行間的內容 gdb l list 列出 line1 行到 line2 行間的內容 gdb r run argn 若 不列出引數 則使用 上次輸入引數 gdb show args 檢視當前使用 引數 gdb set args argn ...

gdb除錯相關指令

the gnu project debugger 1編譯2開啟gdb,設定相關斷點 r 或run 執行,前提是先要把斷點設定好 n 或next 下一步。c 或continue 執行至斷點,沒斷點就執行至結束 s 或step 進入函式體內部,不能進入就單步,可看見函式引數值,l 可看函式 b可增加斷點...

常見GDB除錯命令

pmap 列印命令格式 1 std maptest map pmap test map in tint 2 class test class std maptest map pmap test map int 即可,pmap test map int test class列印好像會有問題 pvect...