使用GDB進行除錯

2021-06-07 20:27:15 字數 1729 閱讀 3442

使用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 行號 在第幾行插入斷點...