gdb 调试,如何让一个断点 “平时不触发,在触发 2000 次后,gdb 进入调试模式” ?

这里需要结合 breakpoint 和 commands 两个命令一起使用

首先先使用 break 给某个行号、地址、或者函数打断电,命令如下:

break my_function

随后使用 commands 命令,给这个断点设置命令(即,断点触发时的命令)

(gdb) break my_function
Breakpoint 1 at 0x4005d6: file my_program.cpp, line 10.
(gdb) commands 1
> silent
> set $count = $count + 1
> if $count == 2000
>   bt
>   continue
> end
> continue
> end

设置好断点命令后,初始化相关环境变量,在这里是 $count 环境变量,如下:

(gdb) set $count = 0

在断点被触发 2000 次后,gdb 进入调试模式,在2000次之前不进入调试模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值