如何在GDB中获取最近命中的断点编号?
获取GDB中最近命中的断点编号的方法
方法1:使用GDB内置变量$_bpnum
你之前使用的$bpnum是旧版GDB的变量,当前适配Ubuntu 18.04的GDB版本提供了$_bpnum这个实时更新的内置变量,它会记录最近一次命中的断点编号。直接在GDB提示符下执行:
print $_bpnum
就能得到最新的断点编号,无需手动切换源文件查找标记。
方法2:过滤info break结果快速定位
info break的输出里,当前程序暂停的断点行开头会带有*标记,你可以用GDB的管道过滤直接提取这一行:
info break | grep '^\*'
这条命令会只显示当前命中的断点完整信息,包括编号、位置等,省去逐个查找的麻烦。
方法3:给断点添加自动提示命令
如果希望每次命中断点时自动显示编号,可以给断点绑定自定义命令。比如设置断点后,执行:
commands <断点编号> echo 命中断点编号:$bpnum\n # 若需要自动继续执行,添加下面这行,不需要则删除 continue end
之后每次命中该断点时,GDB会自动打印断点编号,无需手动查询。
内容的提问来源于stack exchange,提问作者vka
相关产品推荐
相关产品推荐

