GDB常用除錯命令

2021-06-25 13:37:24 字數 1021 閱讀 8856

在程式編譯時增加-g選項以支援gdb除錯

如:$ gcc -g example.c -o example.x

通過上述命令對example.c編譯之後,使用下列命令進入到gdb除錯:

$ gdb example.x

在gdb除錯中,常用的命令有以下幾個:

$ list 縮略為 l

列出程式原始碼,每次列出10行,按回車重複執行上一命令;

$ run 縮略為 r

程式開始執行,在r後可以加入程式啟動引數,程式執行到斷點處暫停;

$ continue 縮略為 c

程式繼續執行,到下一斷點處暫停;

單步除錯

$ step 縮略為s

$ next 縮略為 n

程式繼續執行到下一斷點;

$ break 縮略為 b

在程式某一位置設定斷點;

$ info break 縮略為 i b

檢視斷點資訊;

設定/檢視執行引數

$ set args ---/show args

載入執行中的程序進行除錯(attach to the running process to be debugged.):

$ gdb attatch pid

specifying source directories

$ dir dirname …

以十六進製制輸出記憶體塊資料

$ x/28hx ---

段錯誤除錯,core檔案樣例

通過ulimit命令檢視一下系統是否配置支援了dump core的功能。通過ulimit -c或ulimit -a,可以檢視core file大小的配置情況,如果為0,則表示系統關閉了dump core;可以通過ulimit -c unlimited來開啟。若發生了段錯誤,但沒有core dump,是由於系統禁止core檔案的生成。

$ gdb [exec file] [core file]

檢視堆疊資訊:

$ bt

ps:對於python程式在linux下可以使用pdb做除錯!

GDB常用除錯命令

呼叫gdb編譯需要在cc後面加 g引數再加 o root redhat home gdb 除錯檔案 啟動gdb gdb l 字母l 從第一行開始列出原始碼 gdb break n 在第n行處設定斷點 gdb break func 在函式func 的入口處設定斷點 gdb info break 檢視斷...

gdb常用除錯命令

將.c檔案程式設計成包含標準除錯資訊的檔案 命令 gcc g c o 1 啟動gdb除錯程式 兩種方式 a gdb filename b 啟動gdb後,使用file filename 2 list l 檢視程式 方便設定斷點 3 break b 函式名 在某函式入口處新增斷點 4 break 行號 ...

GDB 常用除錯命令

呼叫gdb編譯需要在cc後面加 g引數再加 o root redhat home gdb 除錯檔案 啟動gdb gdb l 字母l 從第一行開始列出原始碼 gdb break n 在第n行處設定斷點 gdb break func 在函式func 的入口處設定斷點 gdb info break 檢視斷...