Linux偵錯程式 gdb使用

2021-08-19 19:17:48 字數 1209 閱讀 5722

1.背景

程式的發布方式有兩種,debug模式和release模式

linux gcc/g++出來的二進位制程式,預設是release模式

要使用gdb除錯,必須在源**生成二進位制程式的時候,加上-g選項

2.開始使用

gdb binfile   退出:ctrl+d 或quit除錯命令:

list/l 行號:顯示binfile源**,接著上次的位置往下列,每次列10行

list/l 函式名:列出某個函式的源**

r或run:執行程式

n或next:單條執行

s或step:進入函式呼叫

break(b) 行號:在某一行設定斷點

break 函式名:在某個函式開頭設定斷點

info break:檢視斷點資訊

finish:執行到當前函式返回,然後停下來等待命令

print(p):列印表示式的值,通過表示式可以修改變數的值或者呼叫函式

p 變數:列印變數值

set var:修改變數的值

continue(或c):從當前位置開始連續而非單步執行程式

run(或r)從開始連續而非單步執行程式

delete breakpoints:刪除所有斷點

delete breakpoints n:刪除序號為n的斷點

disable breakpoints:禁用斷點

enable breakpoints:啟用斷點

info(或i)breakpoints:檢視當前設定了哪些斷點

display 變數名:跟蹤檢視乙個變數,每次停下來都顯示它的值

undisplay:取消對先前設定的那些變數的跟蹤

until x行號:跳至x行

breakrace:檢視各級函式呼叫及引數

info(或i)locals:檢視當前棧幀區域性變數的值

quit:退出gdb

以下簡單演示一下某些常用選項:

Linux偵錯程式 gdb的使用

1 背景 a.程式的發布方式有兩種 debug模式和release模式 b.linux gcc g 出來的二進位制程式,預設是release模式 c.要使用gdb除錯,必須在源 生成二進位制程式的時候,加上 g選項 2 使用 語法 gdb filename 退出 ctrl d或者quit 可簡寫q ...

Linux偵錯程式gdb的使用

在源 生成二進位制程式時加上 g。1 使用gdb 需要除錯的檔名命令開始除錯 2 使用ctrl d或者quit退出 3 list l 顯示源 每次列10列 4 l list 函式名 顯示函式的源 5 r run 執行程式,相當於vs中的f5 6 n next 單條執行,相當於vs中的f10逐過程 7...

GDB偵錯程式

偵錯程式gdb 一 啟動和退出gdb gdb除錯的物件是可執行檔案,而不是程式的源 如果要使乙個可執行檔案可以被gdb除錯,那麼在使用編譯器gcc編譯程式時需要加入 g選項。gdb除錯乙個程式的命令格式是 gdb 程式檔名 也可以在linux提示符下,直接輸入gdb,然後使用file命令裝入要除錯的...