簡單GDB除錯

2021-09-25 06:18:43 字數 1014 閱讀 1970

生成可用gdb除錯的可執行程式

-g 會保留原始檔中的函式名和變數名

啟動gdb

gdb 可執行程式名

set args *** *** 給程式傳參

檢視程式中的源**

當前檔案

l(list)

l 行號

l 函式名

非當前檔案

l 檔名:行號

l 檔名:函式名

檢視當前可顯示的行數

show listsize (預設是顯示10行)

設定顯示的行數

set listsize n

斷點設定斷點

b(break) 行號

檢視斷點

i(info) b

刪除斷點

d(delete) num(斷點的編號)

刪除多個

d num1 num2

d num1-num2

設定斷點無效

dis num

恢復斷點有效

ena num

設定條件斷點

b n(行號) if (條件)

除錯列印變數的值

p 變數名

列印變數的型別

ptype 變數名

向下單步除錯

n(next) 不會進入函式體

s(step) 會進入到函式體內部

finish 跳出函式體

如果出不去,可能在函式體中有斷點,如果有要刪除或者設定其無效

一次走多步,直到下乙個斷點

c(continue)

變數的自動顯示

display 變數名 變數自動顯示

undisplay 編號 取消變數自動顯示

i(info) display 檢視自動顯示的變數編號

從迴圈中直接跳出

until

和finish一樣,迴圈中不能有斷點

直接設定變數等於某乙個值

set var 變數名=value

在程式中對應的值也會發生改變

gdb除錯簡單攻略

a gdb 程式名稱 開啟gdb除錯程式。b gdb break 16 設定斷點,在源程式第16行處。breakpoint 1 at 0x8048496 file tst.c,line 16.gdb break func 設定斷點,在函式func 入口處。breakpoint 2 at 0x8048...

gdb除錯簡單入門

gdb 簡單入門 使用過程 1.生成程式檔案 gcc g main.cpp o helloworld 2.進入gdb除錯介面 gdb helloworld 3.斷點設定 新增斷點 命令 b break b main 函式名 b main.cpp 12 檔名 行號 b 12 行號 b object c...

gdb除錯 簡單命令 備忘

www.youku.com linux下c語言程式設計gdb除錯,指標函式呼叫是的引數傳遞 1.編譯時 要加 g gcc option test.c option g 為以後gdb除錯準備 wall 輸出所有警告資訊 2.gdb 除錯 gdb a.out gdb help gdb help brea...