gdb除錯功能

2021-08-28 20:24:13 字數 1101 閱讀 5458

2、 檢視**(list/l)

(1)檢視當前檔案:

ll 行號

l 函式名123

(2)檢視非當前檔案:

l 檔名:行號

l 檔名:函式名12

(3)設定顯示的行數

set listsize n

show listsize12

3、斷點操作(break/b)

(1)設定斷點

b 行號

b 函式名

b 檔名:行號

b 檔名:函式名1234

(2)檢視斷點

i b 或 info b1

(3)刪除斷點

d num(斷點的編號,通過"i b"可得)

d num1 num2(刪除多個斷點)

d num1-num4(刪除多個斷點) 123

(4)設定斷點無效

dis num(斷點的編號)1

(5)斷點生效

enb num((斷點的編號)1

(6)設定條件斷點

b 行號 if 變數名==var1

4、除錯相關

(1)讓gdb跑起來

start:執行main()函式的1行

run/r:停在第乙個斷點的位置12

(2)列印變數的值

p 變數名1

(3)列印變數的型別

ptype 變數名1

(4)向下單步除錯(不進入函式體)

n / next1

(5)向下單步除錯(進入函式體)

s / step1

跳出函式體:

finish1

若跳不出注意函式體中是否有斷點,如果有需要刪掉或設定無效才可跳出

(6)繼續執行gdb,停在下乙個斷點位置

c/continue1

(7)單步除錯中變數的自動顯示

display 變數名1

取消顯示:

undisplay 編號1

(8)從迴圈體中直接跳出(同樣注意不能在迴圈中有斷點)

until1

(9)直接設定變數等於某值

set var 變數名=value1

(10)退出gdb

q/quit

gdb 除錯 vs除錯

一 先要生成二進位制檔案 g g 1.cpp o 1.out g引數不要省,不然 gdb l 引數用不了 二 引數 設定斷點 設定 函式斷點break func 在某行設定斷點break 7 檢視斷點資訊 info break 刪除斷點 d 刪除所有斷點 d 3 刪除第三個 執行 r 下一步 n 逐...

GDB除錯命令以及GDB除錯段錯誤

一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...

gdb除錯命令

一 gdb常用命令簡介 rrun 執行.程式還沒有執行前使用 c cuntinue 執行到下一斷點處 qquit 退出tab tab命令補全功能 h help幫助s step 跟入函式 nnext 執行下一行的 如果是函式呼叫,也當作一行 執行到此函式返回 b breakpoint 設定斷點,用法 ...