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
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值