一, gdb的簡介
gdb是gnu debugger的縮寫。與make一樣,同樣來自於gnu專案。早期,gdb只執行在linux或unix平台。目前有人將gdb移植到了windows平台。這樣在windows作業系統下,軟體開發人員同樣可以使用出色的gdb除錯工具。軟體開發人員可以通過gdb除錯工具啟動程式、顯示執行的相關資訊或設定斷點,還可以讓程式在某個特定的位置或處在某個特定條件時停止下來,以便檢查**中的變數情況,並修改其中的錯誤。gdb不僅支援c/c++**的除錯,還可以使用gdb來除錯pascal或fortran程式。gdb屬於交叉工具,工作在命令模式。軟體開發人員需要通過輸入命令來實現對程式的除錯,了解程式執行時的內部情況和出錯情況。
二,gdb的使用和常用的一些命令
(1):編輯程式test.c
(2):使用命令gcc –g test.c –o test(必須使用-g選項,生成除錯資訊)
(3):使用gdb test,啟動gdb進行除錯
(4):使用l(list)命令,檢視原始檔
注意:使用l命令的時候,預設是從**開頭,一次顯示10行的內容,並且再次使用l命令,會顯示接下來的10行內容。如果想顯示指定的行的內容,可以使用l(list)[起始行] [結束行]的命令格式檢視,例如,要顯示程式3到9行的內容,使用命令l 3, 9。
(5):使用b(break)命令設定斷點,只需要在命令「b」後加上對應的行號,就能在這行設定上斷點,在程式執行起來後,一旦遇到斷點就會停在斷點所在行之前。
擴充套件使用:
break(b)檔名:行號作用:在指定檔案的指定行新增斷點。
break(b)行號if 條件作用:當條件為真時,指定行號處斷點生效,例如b 5 if i=10當i=10時,第5行斷點生效。
(6):使用命令info b,檢視斷點設定情況。
(7):delete斷點編號刪除斷點。
(8):next(n)單步執行程式(不進入子函式)。
(9):step(s)單步執行程式(進入子程式)。
(10):continue(c)繼續執行程式
(11):run(r) 執行**程式
(12):使用命令print(p),格式為p [變數名],檢視變數的值。
(13):使用命令finish,跳出乙個函式(將這個函式執行完)。
(14):使用命令q(quit),退出gdb除錯。
(15):kill(k)終止正在除錯的程式。
(16):whatis檢視變數的型別。格式為,whatis [變數名]。
(17):tbreak設定臨時斷點,到達後被自動刪除,用法同break。
(18):set(s)設定變數的值。格式為,set [變數名] = [值]。
(19):help(h)檢視知道命令的用法。格式為,
h(help)[命令名稱]。
(20):disable/enable除能或使能斷點。格式為,
disable/enable [斷點標號],如果不帶編號則視為對所有斷點都是相應的操作。斷點編號通過命令info break檢視。
(21):condition用來修改對應斷點的條件。格式為,
condition [斷點號] 《條件表示式》。
(22):watch對指定的變數進行監控。
格式為,watch變數名。
gdb使用方法簡介
編譯時必須加上引數 g 例 g g temp.cpp o temp.通過gcc編譯生成可執行檔案才能用gdb進行除錯。進入gdb介面 gdb temp.提示符變成 gdb 1 檢視檔案 在gdb中鍵入 l list 就可以檢視所載入的檔案 2 設定斷點 只需在 b 後加入對應的行號即可 這是最常用的...
gdb使用方法簡介
編譯時必須加上引數 g 例 g g temp.cpp o temp.通過gcc編譯生成可執行檔案才能用gdb進行除錯。進入gdb介面 gdb temp.提示符變成 gdb 1 檢視檔案 在gdb中鍵入 l list 就可以檢視所載入的檔案 2 設定斷點 只需在 b 後加入對應的行號即可 這是最常用的...
gdb基本使用方法簡介
gdb基本使用方法 前言程式 中的錯誤可分為數類,除了最容易除錯的語法錯誤,編譯程式會告訴你錯誤所在外,大部分的錯誤都可以歸類為執行時錯誤。gdb 的功能便是尋找執行時錯誤。如果沒有除錯程式,我們只能在程式中加入輸出變數值的指令來了解程式執行的狀態。有了 gdb 除錯程式,我們可以設定在任何地方停止...