gdb 调试时指定跳到第几行

转自:http://www.toptip.ca/2010/06/gdb-skip-instructions-or-lines-while.html


假设要从当前位置(main.c, ln 18)跳到 main.c, ln 21,忽略中间的 main.c, ln 19 ~ ln 20,可以这样做:(jump 缩写是 j)

(gdb) b 21

(gdb) j 21

在 (gdb) c 之后,gdb 会跳过 ln 19 ~ ln 20,停在 ln 21


注意:

1)要在 ln 21 设置断点,否则 gdb 会在 jump 到 ln 21 之后继续执行,直到下一个断点或程序结束

2)如果要忽略的是一个函数调用,比如像下面这样,运行到 ln 10,要跳到 ln 12

10 i++;

11 i = foo();

12 i--;

可以:

(gdb) step

(gdb) return

即,进入 foo(),然后直接返回。但是,要小心 foo() 的返回值。如果这样做不方便的话,采用上面的方法,即

(gdb) b12

(gdb) j 12

也可以


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值