一般來說,gdb主要幫忙你完成下面四個方面的功能:
1、啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。
2、可讓被除錯的程式在你所指定的調置的斷點處停住。(斷點可以是條件表示式)
3、當程式被停住時,可以檢查此時你的程式中所發生的事。
4、動態的改變你程式的執行環境。
除錯的程式如下;
[root@localhost ~]# cat tst.c
#include int func(int n)
return sum;
}main()
printf("result[1-100] = %d n", result);
printf("result[1-250] = %d n", func(250));
}
gcc -g tst.c -o tst 其中的-g引數用於儲存除錯的資訊。
進入gdb除錯介面:
[root@localhost ~]# gdb tst
gnu gdb (gdb) centos (7.0.1-45.el5.centos)
license gplv3+: gnu gpl version 3 or later this is free software: you are free to change and redistribute it.
there is no warranty, to the extent permitted by law. type "show copying"
and "show warranty" for details.
this gdb was configured as "i386-redhat-linux-gnu".
for bug reporting instructions, please see:
...reading symbols from /root/tst...done.
(gdb)
輸入l命令來顯示原始碼:
(gdb) l
7
10 return sum;
11 }
1213 main()
14 {
15 int i;
16 long result = 0;
(gdb)
gdb除錯學習
gdb是乙個由gnu開源組織發布的,unix linux作業系統下的,基於命令列,功能強大的程式除錯工具。可以用來除錯c,c 程式。在今天驗收實驗時發生特別尷尬的事情,由於在編譯.c檔案的時候沒有加 g選項,所以一直無法用gdb除錯程式,所以在總結gdb之前先來看看gcc在編譯時的引數。a.常規選項...
gdb 除錯學習
gdb 是unix linux 系統下的程式除錯工具,和ide 如vs,eclipse等 的圖形化除錯工具相比,gdb在斷點,跟蹤顯示方面有著不足,但是它在某些方面比圖形化除錯工具更加豐富的功能。gdb 除錯前提 如果希望程式能夠被gdb除錯,則需要在編譯程式時候,指定 g 選項。gdb 的除錯和程...
gdb除錯學習筆記
監視點 watch m 25 只有遍歷所在的記憶體值發生變化,且滿足條件是中斷 列印變數 print j 幫助文件 help breakpoint 產看斷點幫助文件 編譯時 g選項 如果不加同樣能夠除錯,不過不可以檢視變數和行號 注意是編譯過程使用,在鏈結過程沒沒有用 tui介面 ctrl x a ...