gdb除錯常用命令

2021-10-23 13:33:31 字數 768 閱讀 3226

一、顯示

info args                          列印出當前函式的引數名及其值

info locals                        列印出當前函式中所有區域性變數及其值

set print elements 0         列印的字串長度不受限制

二、設定斷點

break + 行號或函式名     break n/func     設定臨時斷點,到達後被自動刪除

break + filename + 行號  break main.c:10    用於在指定檔案對應行設定斷點

break + 行號 + if + 條件  break 10 if i==3   用於設定條件斷點,在迴圈中使用非常方便

三、堆疊

backtrace/bt  bt  用來列印棧幀指標,也可以在該命令後加上要列印的棧幀指標的個數,檢視程式執行到此時,是經過哪些函式呼叫的程式,程式「呼叫堆疊」是當前函式之前的所有已呼叫函式的列表(包括當前函式)。每個函式及其變數都被分配了乙個「幀」,最近呼叫的函式在 0 號幀中(「底部」幀)

frame        frame 1     用於列印指定棧幀

info reg     info reg     檢視暫存器使用情況

info stack  info stack  檢視堆疊使用情況

四、多執行緒

info threads      顯示當前可除錯的所有執行緒

thread  id         切換當前除錯的執行緒為指定id的執行緒

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除錯常用命令

gdb list 1 從第一行開始列出原始碼 一次列出10行,如果要從11行繼續列出直接輸入list或l 命令簡寫 gdb l 搜尋 func name所在位置。gdb start 開始執行程式 gdb next 簡寫n 單條執行指令 直接回車重複執行上一條命令 n gdb step 簡寫s 執行下...

gdb除錯常用命令

在編譯時要加上 g選項,生成的可執行檔案才能用gdb進行原始碼級除錯。使用gdb執行生成的檔案。help 可以檢視命令類別 list 命令從第一行開始列出源 一次只會顯示10行,回車可繼續列出下面的 quit 退出 start 開始執行 n next 控制語句一條一條執行 s step 單步執行 b...