如何在 gdb 脚本中确认操作(回答“Y”)?

2024-01-06

我使用 gdb 来调试我的 C++ 代码。 我是这样设置断点的:

(gdb) break ParseDriver.cc:60
No source file named ParseDriver.cc.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (ParseDriver.cc:60) pending.

为了简化设置断点,我写了一个简单的gdb脚本(名为breakpoints.gdb),它只包含一行:

break ParseDriver.cc:60

我在 gdb 终端中获取此脚本,但失败了。

(gdb) source ~/breakpoints.gdb
No source file named ParseDriver.cc.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]

看来我们需要在脚本中回答Y才能设置断点。

那么,我该如何在 gdb 脚本中回答 Y 呢? 先感谢您。


(gdb) set breakpoint pending on

这将使 gdb 跳过询问确认,引用自the docs https://sourceware.org/gdb/onlinedocs/gdb/Set-Breaks.html:

这表明无法识别的断点位置应该 自动导致创建挂起的断点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 gdb 脚本中确认操作(回答“Y”)? 的相关文章

随机推荐