gdb概述:
gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc、bcb等ide的除錯,但如果你是在unix平台下做軟體,你會發現gdb這個除錯工具有比vc、bcb的圖形化偵錯程式更強大的功能。
一般來說gdb主要有三大功能:
1)啟動被除錯函式
2)讓被除錯的程式在指定位置停住
3) 當程式停住時,檢查它的狀態值
gdb的使用:
舉下面的程式為例:
寫完程式之後,輸入「 gcc -g gdb.c 」 和 「 gcc a.out 」 啟動gdb對程式的除錯。
gdb的指令:
執行指令:run(簡寫「r」);
設定中斷指令:break 行數(簡寫「b」):;
檢視**指令:list
在gdb中使用檢視源**相關的命令時,有乙個當前檔案的概念,當命令的位置引數沒有限定乙個檔案的時候(不論是明確限定還是隱含限定),將使用當前檔案。當前檔案預設是main函式所在檔案,如果程式當前正處於斷點位置,則斷點所在檔案即為當前檔案。
如下圖:
會發現函式不是從頭開始顯示,這是因為
當前行不是從頭開始的程式只能;且每次顯示10行左右,這是可以改變引數值的。
引申的指令:
list - :顯示當前
行前面程式。出現
list +: 往後顯示源**。
set listsize 設定一次顯示源**的行數
list , 顯示從當前行到last行之間的源**
檢視狀態值指令:print 變數名(簡寫 p)
檢視斷點資訊指令:info break
單步執行指令:next(不會進入子函式)
step(可進入子函式)
繼續執行指令:continue(簡寫「c」,在斷點處繼續執行,知道遇到下乙個斷點或者程式結束)
finish(繼續執行,結束此函式)
退出指令:quit
運用gdb除錯段錯誤
如下段程式:
#include
int main()
執行程式之後發現出現段錯誤了,執行gdb指令在**停住,**就是出現段錯誤的地方,便於我們修改。
使用GDB除錯程式
gdb是gnu發布的一款功能強大的程式除錯工具。gdb主要完成下面三個方面的功能 1.啟動被除錯程式 2.讓被除錯的程式在指定的位置停住 3.當程式被停住時,可以檢查程式狀態 如變數值 假如要對程式test.c進行除錯,除錯流程為 1.編譯生成可執行檔案 gcc g test.c o test 2....
使用GDB除錯程式
上回話說 使用makefile來組織源 這回簡單地介紹下如何使用gdb來除錯我們的程式 關於gdb的其它應用將在後續的章節中逐漸深入。首先需要肯定一點,gdb是個功能異常強大的除錯工具,其本身只能執行於字元模式,但是當前眾多基於gui的偵錯程式 ide,無論是自由軟體還是商業軟體,絕大多數都使用gd...
GDB除錯程式
gdb的三個功能 1 啟動被除錯的程式 2 設定斷點 3 設定斷點之後可以檢查程式的狀態 1.編譯生成可執行檔案 注意 g 除錯選項 gcc g tst.c o tst 2.啟動gdb gdb tst 3.在main函式處設定斷點 break main 4.執行程式 run5.利用 更加豐富的 gd...