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將補齊此命令。如果有 其它命令的前幾個...