GDB簡述
1、程序中加入調試信息:gcc -g -o a.ddebu a.c
2、啓動gdb:gdb
3、經常使用命令
1.backtrace:顯示程序中的當前位置和表示如何到達當前位置的棧跟蹤(同義詞:where)。
2.breakpoint:在程序中設置一個斷點
3.cd:改變當前工做目錄。
4.clear:刪除剛纔中止處的斷點。
5.commands:命中斷點時,列出將要執行的命令。
6.continue:從斷點開始繼續執行。
7.delete:刪除一個斷點或監測點,也可與其餘命令一塊兒使用。
8.display:程序中止時顯示變量和表達式。
9.down:下移棧幀,使得另外一個函數成爲當前函數。
10.frame:選擇下一條continue命令的幀。
11.info:顯示與該程序有關的各類信息。
12.info break:顯示當前斷點清單,包括到達斷點處的次數等。
13.info files:顯示被調試文件的詳細信息。
14.info func:顯示全部的函數名稱。
15.info local:顯示當前函數中的局部變量信息。
16.info prog:顯示被調試程序的執行狀態。
17.info var:顯示全部的全局和靜態變量名稱。
18.jump:在源程序中的另外一點開始運行。
19.kill:異常終止在gdb控制下運行的程序。
20.list:列出相應於正在執行的程序的源文件內容
21.next:執行下一個源程序行,人而執行其總體中的一個函數。
22.print.顯示變量或表達式的值。
23.pwd:顯示當前工做目錄。
24.pype:顯示一個數據結構(如一個結構或C++類)的內容.
25.quit:退出gdb.
26.reverse-search:在源文件中反向搜索正規表達式。
27.run:執行該程序。
28.search:在源文件中搜索正規表達式。
29.set variable:給變量賦值。
30.signal:將一個信號發送到正在運行的進程。
31.step:執行下一個源程序行,必要時進入下一個函數。
32.undisplay display:命令的反命令,不要顯示錶達式。
33.until:結束當前循環。
34.up:上移棧幀,使另外一個函數成爲當前函數。
35.watch:在程序中設置一個監測點(即數據斷點);
36.whatis:顯示變量或函數類型。
4、習慣性操做
1.導入文件:file /test.debug
2.查看文件:list
3.加入斷點行數:break 6
4.運行程序:run
5.運行到第一個斷點,step,程序運行一步
6.顯示當前變量的值:pirnt **
7.退出:q
數據結構