檢視當前執行到哪:檢視堆疊 bt --列印當前的函式呼叫棧的所有資訊。
檢視當前棧幀的資訊:f --棧的層編號,當前的函式名,函式引數值,函式所在檔案及行號,函式執行到的語句。
乙個程序對應call-stack呼叫棧,乙個函式對應stack-frame棧幀
組合多個變數
info args --列印出當前函式的引數名及其值。 info locals --列印出當前函式中所有區域性變數及其值。
list --顯示當前行及其前後的源** list function --顯示函式的源** list filename:linenum(function) --顯示某個檔案中的某一行(函式)
斷點:break 7 if n==6 --以條件表示式設定斷點 break function --在某個函式處設定斷點
info breakpoints --檢視斷點資訊 disable 斷點號 --使該斷點失效
clear linenum(function) --清初某行(函式)處的斷點 delete 斷點號 --刪除幾號斷點
kill --結束當前除錯程序
gdb也支援執行linux命令的,可以在gdb的提示符中,輸入shell,然後在輸入你需要的命令就可以了 (gdb) shell clear 可以清屏
檢視程序,執行緒
1.檢視程序:info inferiors
2.檢視執行緒:info threads
3.檢視執行緒棧結構:bt
4.切換執行緒:thread n(n代表第幾個執行緒)
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 檢視斷...