使用gdb除錯c程式
gdb是gnu開源組織發布的乙個非圖形化的unix下的程式除錯軟體。
它能使使用者在程式執行時觀察資料的內部結構和記憶體使用情況。
gdb提供的主要功能:
1)監視程式中的變數值
2)設定斷點,使程式在指定**行停止。
3)單步執行
4)動態改變程式的執行環境
等一、除錯乙個簡單的程式
1、編寫主程式test.c
#include int main(int argc, char *argv)
return 0;
}
2、編譯程式為可執行檔案test
$ gcc test.c -g -o test
為了使用gdb進行除錯,必須加上-g選項,這樣可以使程式在編譯時包含除錯資訊。
3、載入test可執行檔案,啟動gdb除錯
看到上面類似效果,說明gdb成功載入了test可執行檔案
4、現在,可以對程式進行一系列的除錯了
除錯時,常用的命令有:
file:裝載要除錯的可執行檔案
kill:終止正在除錯的程式
list:列出原始碼
run:執行程式
break:設定斷點
watch:動態觀察某個變數
quit:退出gdb
make:不退出gdb,而重新生成可執行檔案
call name(args):呼叫並執行name,引數為args的函式
return value:停止當前函式,並返回設定的value給呼叫者
a、列出原始碼
b、執行程式
c、設定斷點,並重新執行可執行檔案
可以看到,程式在第6行被掛起了
d、單步執行
可以看到,程式在6-8行之間重複執行
e、監控變數i
hardware watchpoint 2:i,表示這是第二個監控點,變數為i
old value、new value能讓你看到變數的變化情況
f、輸出變數的值
(gdb) print i
$2,表示第二個監控變數,此處表示變數i,當前值為3
使用gdb進行除錯
gdb主要幫忙你完成下面四個方面的功能 1 啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。2 可讓被除錯的程式在你所指定的調置的斷點處停住。斷點可以是條件表示式 3 當程式被停住時,可以檢查此時你的程式中所發生的事。4 動態的改變你程式的執行環境。一般來說gdb主要除錯的是c c 的程式...
gdb 除錯入門(二) 使用終端進行 gdb 除錯
在安裝完 gdb 後,就可以嘗試使用 gdb 在終端中除錯程式了,如果對安裝 gdb 存在疑惑,請參考 gdb 除錯入門 一 windows linux ubuntu 下安裝 gdb。首先編寫乙個簡單的helloworld.c include intmain 你也可以定位到你需要除錯的 c 程式,然...
利用終端進行GDB除錯
眾所周知,除錯的辦法有 折半插斷點輸出的方式,還有區域性注釋編譯執行的方式之外,就是gdb除錯了 現總結gdb除錯中常用的語句操作。首選,利用終端編譯檔案的時候,需要使用選擇項 g 編譯可執行檔案,不然的花,無法進行gdb除錯 gdb的基本語句 命令 list 顯示區域性 b 行號 在第幾行插入斷點...