GDB符號偵錯程式 二

2021-05-25 09:25:18 字數 1177 閱讀 3404

(gdb) watch 表示式設定好檢視的表示式,則可以使程式在表示式成立時終止執行

eg: (gdb) watch counter>15

(gdb) breaktrace

(gdb) bt  

該命令列印當前停住地方函式呼叫棧的所有資訊.

(gdb) breaktrace   

(gdb) bt 

n是乙個正整數,表示可以列印棧頂上的n層資訊

(gdb) breaktrace    <-n>

(gdb) bt  <-n>

-n表示乙個負整數,列印棧底n層資訊

(gdb) frame   

(gdb) f 

當需要檢視某一層棧的具體資訊的時候,需要切換棧,還可以使用 (gdb) up  /  down  來上下移動棧 

(gdb) info  f  

則可以顯示出更為詳盡的當前棧層的資訊

(gdb) info  args  顯示當前函式的引數名和值

(gdb) info  locals  顯示區域性變數及值

(gdb) info  catch  顯示當前函式中的異常資訊

gdb可以列印出****,但是務必在編譯是加上-g選項  ,然後我們使用 (gdb) list 命令即可.

(gdb) 

list 行號

(gdb) 

list 函式名

(gdb) 

list <+offset>   當前行號的正偏移

(gdb) 

list <-offset>    當前行號的負偏移

(gdb) 

list 檔案的哪一行

(gdb) 

list 檔案的函式名

(gdb) 

list <*address> 程式執行時的語句在記憶體中的位址.

gdb還可以搜尋

(gdb) 

forward-search

(gdb) 

search

向前搜尋

(gdb) 

reverse-search

全部搜尋

指定原始檔路徑

(gdb) 

directory 多個路徑可以使用":"隔開

(gdb) info line    顯示源**在記憶體中的位址.

GDB符號偵錯程式 一

gdb簡單使用 編譯程式時,使用gcc ggdb3 o test test.c可以最大限度的包含除錯資訊。gdb test 然後會出現一串提示,無非就是寫授權介紹類的.然後就是提示符 gdb gdb run 設定斷點後,輸入run直接執行,並且在斷點處停止 gdb break main 在main函...

gdb偵錯程式(二)

gdb除錯命令 l list 檢視程式 l 行號 例 l 10 從第10行開始檢視 l 函式名 指定函式的源 b break 設定斷點 b 函式名 在某函式入口處新增斷點 b 行號 在指定行新增斷點 b 行號 if條件 當條件為真時,指定行號處斷點生效 例 b 5 if i 10,當i 10時第5行...

GDB偵錯程式

偵錯程式gdb 一 啟動和退出gdb gdb除錯的物件是可執行檔案,而不是程式的源 如果要使乙個可執行檔案可以被gdb除錯,那麼在使用編譯器gcc編譯程式時需要加入 g選項。gdb除錯乙個程式的命令格式是 gdb 程式檔名 也可以在linux提示符下,直接輸入gdb,然後使用file命令裝入要除錯的...