Linux偵錯程式-gdb使用
阿新 • • 發佈:2018-12-11
如何用gdb執行一個程式
格式:gdb ./程式名 例: gdb ./main 程式名後邊不需要參加引數,因為引數的獲取在這裡無效,這裡僅僅載入可執行程式資訊
進入gdb除錯之後的命令操作:
退出:ctrl + d 或 quit
1.r/run:執行程式
2.n/next:逐步除錯,如果遇到函式,跳過函式,直接完成功能
3.s/step:逐條除錯,如果遇到函式,進入函式,一步一步執行
4.break/b 行號:在某一行設定斷點
5.b func:給func這個函式加斷點
6.b main.c:20—給main.c的第20行加一個斷點
7.info/i b:檢視斷點資訊
8.p 變數:列印變數值
例:p i:列印i的值
9.continue/c:從當前位置繼續連續執行,不是單步執行,直接跑完
10.d:刪除所有斷點
11.d n:刪除序號為n的斷點
12.start:開始逐步除錯
13.list/l:預設檢視當前所在位置附近5行程式碼
14.l -n:指定顯示第n行前後5行的程式碼
15.watch 變數名:跟蹤檢視一個變數,每次變數的值發生改變的時候都會停下來顯示它的值
16.bt:函式呼叫棧的跟蹤,檢視程式的函式呼叫棧資訊(在除錯段錯誤方面很有用)
gdb -p pid(程序id):除錯正在執行的程式