GDB簡單除錯使用方法

2021-10-03 12:06:13 字數 1200 閱讀 9538

如何用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 ...