gdb命令學習

2021-07-11 10:44:58 字數 1758 閱讀 1583

gdb是乙個由gnu開源組織發布的、unix/linux作業系統下的、基於命令列的、功能強大的程式除錯工具。一般使用gdb進行除錯主要完成下面三個方面的功能:

1、可以讓程式在我們指定的斷點處停住。

2、用print檢查程式停住之後的各個環境引數和變數的情況,用於檢查當程式執行沒有達到要求或者出錯時的具體情況。

3、通過set動態改變程式的執行環境。

gdb使用的方式:

1、編譯成可執行檔案:gcc -g gdb_test.c -o gdb_test

注意:記得使用引數-g,目的是將源**的資訊編譯到可執行檔案中。如果沒有-g引數,你將看不見程式的函式名、變數名,所代替的全是執行時的記憶體位址。這樣除錯時很難判斷達到除錯的效果。

2、啟動gdb:

a)、只啟動gdb,然後再載入檔案:

b)、啟動gdb的同時載入檔案:

3、在檔案中設定相應的斷點

4、執行程式

基本命令:

1、list(l):檢視程式,但list一次只能顯示部分程式,這時你需要直序執行list檢視全部程式

2、break(b)  函式名/行號/檔名:行號  :在對應位置設定斷點

3、info(i)  引數:檢視各類資訊,例如檢視設定的break點情況

4、delete(d) 斷點編號:刪除對應斷點編號的斷點

5、next(n) :單步執行程式,但不進入子函式

6、step(s):單步執行程式,但遇到函式時會進入函式裡面執行。

7、continue(c):繼續執行程式知道遇到斷點或者程式執行結束為止

8、print(p) 變數名:檢視指定變數值

9、set var=value:設定變數值

10、quit(q):退出gdb

下面是我的測試用例程式

#include int result_print(int result)

void main(void)

result_print(sum);

sum = 0;

for (i = 0; i <= 100; i = i + 2)

result_print(sum);

return;

}

下面除錯命令的使用:

上面的就是gdb的一些基本使用,僅作為記錄以後便宜回憶和深入學習之後進行補充。

gdb入門 gdb基本命令

參見 linux c程式設計一站式學習 backtrace 或bt 檢視各級函式呼叫及引數 finish 執行到當前函式返回,然後停下來等待命令 frame 或f 幀編號 選擇棧幀 info 或i locals 檢視當前棧幀區域性變數的值 list 或l 列出源 接著上次的位置往下列,每次列10行 ...

gdb除錯命令

一 gdb常用命令簡介 rrun 執行.程式還沒有執行前使用 c cuntinue 執行到下一斷點處 qquit 退出tab tab命令補全功能 h help幫助s step 跟入函式 nnext 執行下一行的 如果是函式呼叫,也當作一行 執行到此函式返回 b breakpoint 設定斷點,用法 ...

gdb命令手冊

gdb的命令很多,本文不會全部介紹,僅會介紹一些最常用的。在介紹之前,先介紹gdb中的乙個非常有用的功能 補齊功能。它就如同linux下 shell中的命令補齊一樣。當你輸入乙個命令的前幾個字元,然後輸入tab鍵,如果沒有其它命令的前幾個字元與此相同,shell將補齊此命令。如果有 其它命令的前幾個...