現有一c原始檔「gdb-01.c」,下面用gdb除錯該程式。
/*gdb-01.c*/
#include
static
int sum(int
value);
int main(int argc, char *argv)
int input = argv[1] - '0';
int result = sum(input);
printf("你輸入的值為:%d,計算結果為:%d\n",input,result);
return0;}
/*累加求和函式*/
static
int sum(int
value)
return result;
}
首先用gcc編譯「gdb-01.c」生成可執行檔案test,為了能用gdb除錯改程式,需要在編譯時加入『-g』選項。命令如下:
$ gcc -o test gdb-01.c -g
引導程式。用下面的命令將可執行檔案test載入到gdb中,並進入(gdb)模式:
$ gdb test
設定輸入引數。通常可執行檔案在執行的時候需要輸入引數,gdb中使用如下命令格式:」set args value1 value2 …」。例如,test中將乙個引數(如3)傳入程式:
(gdb) set args 3
列印**內容。命令list用於列出可執行檔案對應原始檔的**,命令格式為「list 開始的行號」,然後每次按enter鍵後順序向下列出**。
(gdb) list 1
設定斷點。b 命令在某一行設定斷點,程式執行到斷點的位置會中斷。
(gdb) b 24
執行程式。gdb在預設的情況下是不會讓可執行檔案執行的。此時,程式並沒有真正執行起來,只是裝載進了gdb中。要是程式執行需要輸入run命令。
(gdb) run 3
顯示變數。在程式執行到第5步所設定的斷點時,程式中斷等待進一步指令。此時,可以進行一系列操作,其中,命令display可以顯示變數的值。
(gdb) display result #顯示變數result的值
修改變數的值。用set命令。
(gdb) set result = 6
(gdb) c #繼續執行
退出gdb。除錯完程式後,使用q命令退出gdb。
(gdb) q
$ #返回使用者模式
Linux下GDB除錯程式
gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc bcb等ide的除錯,但如果你是在unix平台下做軟體,你會發現gdb這個除錯工具有比vc bcb的圖形化偵錯程式更強大的功能。所謂 寸有所長,尺有所短 就是這個道理。一般來說,gdb主要幫...
使用GDB除錯程式
gdb是gnu發布的一款功能強大的程式除錯工具。gdb主要完成下面三個方面的功能 1.啟動被除錯程式 2.讓被除錯的程式在指定的位置停住 3.當程式被停住時,可以檢查程式狀態 如變數值 假如要對程式test.c進行除錯,除錯流程為 1.編譯生成可執行檔案 gcc g test.c o test 2....
使用GDB除錯程式
上回話說 使用makefile來組織源 這回簡單地介紹下如何使用gdb來除錯我們的程式 關於gdb的其它應用將在後續的章節中逐漸深入。首先需要肯定一點,gdb是個功能異常強大的除錯工具,其本身只能執行於字元模式,但是當前眾多基於gui的偵錯程式 ide,無論是自由軟體還是商業軟體,絕大多數都使用gd...