gdb除錯常用命令

2021-07-25 09:49:11 字數 1487 閱讀 8509

gcc -g  main.c                      //在目標檔案加入源**的資訊

gdb a.out

(gdb) start //開始除錯

(gdb) n //一條一條執行

(gdb) step/s //執行下一條,如果函式進入函式

(gdb) backtrace/bt //檢視函式呼叫棧幀

(gdb) info/i locals //檢視當前棧幀區域性變數

(gdb) frame/f //選擇棧幀,再檢視區域性變數

(gdb) print/p //列印變數的值

(gdb) finish //執行到當前函式返回

(gdb) set var sum=0 //修改變數值

(gdb) list/l 行號或函式名 //列出原始碼

(gdb) display/undisplay sum //每次停下顯示變數的值/取消跟蹤

(gdb) break/b 行號或函式名 //設定斷點

(gdb) continue/c //連續執行

(gdb) info/i breakpoints //檢視已經設定的斷點

(gdb) delete breakpoints 2 //刪除某個斷點

(gdb) disable/enable breakpoints 3 //禁用/啟用某個斷點

(gdb) break 9 if sum != 0 //滿足條件才啟用斷點

(gdb) run/r //重新從程式開頭連續執行

(gdb) watch input[4] //設定觀察點

(gdb) info/i watchpoints //檢視設定的觀察點

(gdb) x/7b input //列印儲存器內容,b--每個位元組一組,7--7組

(gdb) disassemble //反彙編當前函式或指定函式

(gdb) si // 一條指令一條指令除錯 而 s 是一行一行**

(gdb) info registers // 顯示所有暫存器的當前值

(gdb) x/20 $esp //檢視記憶體中開始的20個數

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...