Linux GDB除錯基本命令

2021-10-25 09:25:42 字數 1379 閱讀 9518

使用gdb除錯時,需要在編譯時使用-g引數

g++

-g test.cpp -o test

gdb test

start				#開始除錯,停在第一行**處,

(gdb)start

l #list的縮寫檢視源**,

(gdb) l [number/function]

b #b: breakpoint的簡寫,設定斷點。(gdb) b 10

b #b: breakpoint的簡寫,設定斷點。(gdb) b main

b filename:

[line/function] #b:在檔案filename的某行或某個函式處設定斷點

i breakpoints #i:info 的簡寫。(gdb)i breakpoints

d [bpno] #d: delete breakpoint的簡寫,刪除指定編號的某個斷點,或刪除所有斷點。斷點編號從1開始遞增。 (gdb)d 1

s #s: step執行一行源程式**,如果此行**中有函式呼叫,則進入該函式;(gdb) s

n #n: next執行一行源程式**,此行**中的函式呼叫也一併執行。(gdb) n

r #run的簡寫,執行被除錯的程式。如果此前沒有下過斷點,則執行完整個程式;如果有斷點,則程式暫停在第乙個可用斷點處。(gdb) r

c #continue的簡寫,繼續執行被除錯程式,直至下乙個斷點或程式結束。(gdb) c

finish #函式結束

p [var] #print的簡寫,顯示指定變數(臨時變數或全域性變數 例如 int a)的值。(gdb) p a

display [var] #display,設定想要跟蹤的變數(例如 int a)。(gdb) display a

undisplay [varnum] #undisplay取消對變數的跟蹤,被跟蹤變數用整型數標識。(gdb) undisplay 1

set args #可指定執行時引數。(gdb)set args 10

20show args #檢視執行時引數。

q #quit的簡寫,退出gdb除錯環境。(gdb) q

help [cmd] #gdb幫助命令,提供對gdb名種命令的解釋說明。如果指定了「命令名稱」引數,則顯示該命令的詳細說明;如果沒有指定引數,則分類顯示所有gdb命令,供使用者進一步瀏覽和查詢。(gdb)help

回車 #重複前面的命令,(gdb)回車

gdb除錯基本命令

gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式設計師,gdb是必不可少的工具 對c c 程式的除錯,需要在編譯前就加上 g選項 g g hello.cpp o hello 除錯可執行檔案 gdb prog...

GDB除錯基本命令

一 列檔案清單 list l 列出產生執行檔案的源 的一部分 列出 line1 到 line2 行之間的源 gdb list line1,line2 輸出從上次呼叫list命令開始往後的10行程式 gdb list 輸出第 n 行附近的10行程式 gdb list n 輸出函式function前後的...

GDB除錯基本命令

gdb是乙個強大的命令列除錯工具。大家知道命令列的強大就是在於,其可以形成執行序列,形成指令碼。unix下的軟體全是命令列的,這給程式開發提代供了極大的便利,命令列軟體的優勢在於,它們可以非常容易的整合在一起,使用幾個簡單的已有工具的命令,就可以做出乙個非常強大的功能。一般來說,gdb主要幫忙你完成...