在編譯時要加上-g選項,生成的可執行檔案才能用gdb進行原始碼級除錯。使用gdb執行生成的檔案。
help:可以檢視命令類別
list:命令從第一行開始列出源**,一次只會顯示10行,回車可繼續列出下面的**
quit:退出
start:開始執行
n(next):控制語句一條一條執行
s(step):單步執行
bt(backtrace):檢視當前函式呼叫的棧幀
i(info) locals:檢視區域性變數資訊
f(frame):選擇棧號
finish:讓程式一直執行到當前函式返回為止
set var:修改變數值
p(print):列印語句的值
斷點:
b+行號:在某一行設定斷點
break 函式名:在某個函式開頭設定斷點
break…if..:設定條件斷點
delete breakpoints 斷點號:刪除斷點
display 變數名:跟蹤某個變數
undisplay:取消跟蹤顯示
i breakpoints:檢視當前設定的斷點
r:從頭開始連續執行程式
enable 斷點號:啟用斷點
disable breakpoints:禁用斷點號
基本命令:
watch:設定觀察點
i watchpoints:檢視當前設定了那些觀察點
x:從某個位置開始列印儲存單元的內容,全部當成位元組來看,而不區分哪個位元組屬於哪個變數
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除錯常用命令
gcc g main.c 在目標檔案加入源 的資訊 gdb a.out gdb start 開始除錯 gdb n 一條一條執行 gdb step s 執行下一條,如果函式進入函式 gdb backtrace bt 檢視函式呼叫棧幀 gdb info i locals 檢視當前棧幀區域性變數 gdb ...