如何用gdb執行程式
gcc gdb_test.c -o gdb_test -g 編譯程式
(gdb) r 執行程式
(gdb) bt full 列印當前的函式呼叫棧的所有資訊
多檔案打斷點:
例:對gdb_test.c的第三行打斷點 b gdb_test.c:3
對多個檔案中的某乙個檔案的函式打斷點
例: b gdb_test.c:func
檢視斷點資訊:
info b 檢視所有斷點資訊
檢視第n個斷點的資訊:
info b n
如果我們想刪除某個斷點,有兩種方法:
1 delete 命令 簡寫d
delete break 刪除所有的斷點
delete break n 刪除某個斷點 n為斷點號
2 clear 命令
clear 行號 刪除設在某一行的斷點
disable break n 禁用某個斷點 n為斷點號
enable break n 使能某個斷點 n為斷點號
step/s 單步除錯(進入函式)
next/n 單步除錯(不進入函式)
continue/c (繼續執行函式,直到函式結束或是遇到新的斷點)
(1)print/p 表示式或變數 #檢視程式執行時對應表示式或變數的值
常用的輸出格式有以下幾種
x: 十六進製制格式
d:有符號的十進位制整數格式
u:無符號的十進位制整數格式
o:八進位制整數格式
t:二進位制整數格式
c:字元格式
f:浮點數格式
例:p/x 變數或表示式
(2)列印命令display
display 變數 #display 命令和 print 命令的區別是,使用display會在程式每次執行到此斷後都會列印出變數的值。
使用enable 使失效的display 重新使能
格式:enable display 序號
使用delete刪除指定的顯示資料的序號
格式delete display 序號
使用info命令檢視display相關的資訊
格式:info display
set variable 變數名 = 設定值,修改執行中引數的相關命令
用whatis命令檢視變數或表示式的資料型別
格式:whatis 變數或表示式
GDB簡單除錯方法
1.列檔案清單 列出3到6行 2.run執行程式 利用set args 命令就可以修改傳送給程式的引數,而使用show args 命令就可以檢視其預設引數的列表。3.設定啟動引數使用命令 set args st 1 4.利用print 命令可以檢查各個變數的值。注 print 是gdb的乙個功能很強...
gdb除錯程式使用方法
1 啟動程式 gdb a.out 2 進來後在gdb模式,執行r開始啟動,如果要帶命令列引數,則在r後依次輸入 gdb r 0 1 3 進入程式後,按鍵ctrl c進入gdb模式 program received signal sigint,interrupt.0x0012d422 in kerne...
gdb使用方法
一 程式例子 test.c include int fun int n return sum int main printf d n sum int ret 0 ret fun sum printf d n ret return 0 二 編譯 g表示開啟除錯開關 sudo gcc g test.c ...