GDB簡介與使用

2021-06-14 00:53:21 字數 1721 閱讀 2795

一, 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 除錯程式,我們可以設定在任何地方停止...