gdb调试的常用命令

gcc a.c b.c -o app -g
-g:会保留函数名和变量名于app中

1、 启动gdb调试功能
(1)gdb app
(2)给程序传参:set args xx1 xx2

2、 查看代码(list/l)
(1)查看当前文件:

l
l 行号
l 函数名

(2)查看非当前文件:

l 文件名:行号
l 文件名:函数名

(3)设置显示的行数

set listsize n
show listsize

3、断点操作(break/b)
(1)设置断点

b 行号
b 函数名
b 文件名:行号
b 文件名:函数名

(2)查看断点

i b 或 info b

(3)删除断点

d num(断点的编号,通过"i b"可得)
d num1 num2(删除多个断点)
d num1-num4(删除多个断点) 

(4)设置断点无效

dis num(断点的编号)

(5)断点生效

enb num((断点的编号)

(6)设置条件断点

b 行号 if 变量名==var

4、调试相关
(1)让gdb跑起来

start:运行main()函数的1行
run/r:停在第一个断点的位置

(2)打印变量的值

p 变量名

(3)打印变量的类型

ptype 变量名

(4)向下单步调试(不进入函数体)

n / next

(5)向下单步调试(进入函数体)

s / step

跳出函数体:

finish

若跳不出注意函数体中是否有断点,如果有需要删掉或设置无效才可跳出
(6)继续运行gdb,停在下一个断点位置

c/continue

(7)单步调试中变量的自动显示

display 变量名

取消显示:

undisplay 编号

(8)从循环体中直接跳出(同样注意不能在循环中有断点)

until

(9)直接设置变量等于某值

set var 变量名=value

(10)退出gdb

q/quit

猜你喜欢

转载自blog.csdn.net/qq_29344757/article/details/79563990
今日推荐