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命令裝入要除錯的...