GDB符號偵錯程式 一

2021-05-25 06:58:10 字數 937 閱讀 5190

gdb簡單使用

編譯程式時,使用gcc -ggdb3 -o test test.c可以最大限度的包含除錯資訊。

gdb test    然後會出現一串提示,無非就是寫授權介紹類的.然後就是提示符

(gdb)

(gdb)run    設定斷點後,輸入run直接執行,並且在斷點處停止

(gdb)break main    在main函式出設定了斷點

(gdb)break 行號     在某一行設定斷點

(gdb)step 也可簡寫 s     遇到函式就會進入

(gdb)next 也可簡寫 n     遇到函式時不會進入

(gdb)print  要列印的值或表示式    直接列印某個變數的值或者表示式的值

(gdb)print 變數=表示式

還可以用於賦值

(gdb)print 開始表示式@連續列印空間的大小    還可以列印出記憶體的某個部分開始的連續值

(gdb)display 要顯示的值或表示式    直接列印某個變數的值或者表示式的值

--------display命令會被gdb記憶,如果列印乙個值,後續遇到該值均會被列印出來

(gdb)set 變數名=表示式    可以修改變數的值

(gdb)cont [n] 在遇到斷點後,繼續執行,後面可以跟次數n,不跟預設為一次,在迴圈中作用較大

臨時斷點會在呼叫一次後自動刪除

(gdb)tbreak 行號

(gdb)tbreak 函式

(gdb)enable 斷點編號    可以使暫時失效的斷點恢復

(gdb)disable 斷點編號    將所設定的斷點失效

(gdb)delete 斷點編號   直接刪除斷點

(gdb)clear 斷點所在行號  直接刪除所在行斷點

delete和clear不同之處是delete跟的是斷點號,clear跟的是行號

GDB符號偵錯程式 二

gdb watch 表示式設定好檢視的表示式,則可以使程式在表示式成立時終止執行 eg gdb watch counter 15 gdb breaktrace gdb bt 該命令列印當前停住地方函式呼叫棧的所有資訊.gdb breaktrace gdb bt n是乙個正整數,表示可以列印棧頂上的n...

GDB偵錯程式

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

gdb偵錯程式

在使用gdb偵錯程式之前,必須在編譯程式時加上 g選項 功能 顯示上次內容之前或之後的10行內容,首次使用顯示main 函式之前或之後的10行內容 命令 list 簡稱 l 功能 顯示引數行之前和之後的10行內容.命令 list line number 簡稱 l 10 功能 顯示原始檔從一行到另一行...