一、顯示
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...