是否有一种方法可以启用/禁用除ID之外的断点
Is there a way to enable/disable a breakpoint other than by its ID?
使用LLDB(版本179.5,XCode 4.6.3),是否有一个命令可以通过指定符号名称而不是数字ID来禁用断点?
上下文:我使用BoostSpirit(经典)来解析文件,作为解析的一部分,可能会抛出许多异常,然后捕获。当抛出异常时中断是没有用的,但我希望当抛出Spirit之外的异常时中断。
我可以使用条件断点获得我想要的单次运行的行为——首先,我使用break list
来查找__cxa_throw
断点的数字ID。假设它原来是2
。然后,我可以在调用Spirit之前设置一个断点,在评估之后将其设置为继续,并添加一个LLDB操作break disable 2
。然后,在Spirit返回后,我用break enable 2
设置了另一个类似的断点。
问题是,我不能依靠数字ID在程序的多次调用中保持不变。我希望每次运行程序时都能设置一些不需要我修复的东西。
我发现了这个问题,看起来它可能能够实现类似的结果,尽管我更喜欢启用/禁用方法,因为它更灵活(例如,允许您忽略代码中某些区域的断点,但不能忽略其他区域的断点)。不过,我也不完全清楚当Xcode调用lldb时,是否需要做任何额外的事情来让它使用.lldb_init
。
在Xcode 7的lldb(或当前TOT lldb.llvm.org lldb)中,您可以在命令行中命名断点。然后您可以启用&按名称禁用断点。如果您在.lldinit中设置断点,则可以使用名称&请参阅名称。但是,如果您在Xcode中创建断点,这对您没有太大帮助,因为它还没有设置名称的功能。
Xcode将始终读取~/.lldinit文件,但它必须位于主目录中,并且文件名没有下划线。事实上,它比这更复杂一点,如果你有一个名为~/.lldinit Xcode的文件,那么Xcode会使用这个文件,而不是.lldinit。这样,如果你想让一些命令在命令行lldb中运行,而另一些在Xcode中运行,你可以安排它。
- 无法删除指针,已触发断点
- 从函数角度看ID到文件路径的内部与外部映射
- 通过组合不同的类型来创建唯一的id
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 条件断点在不应该触发时触发
- FFMPEG配置文件级别id大小无效
- 方法内部但循环仍得到预期的不合格id错误C++
- 如何获取 GLFW 窗口 ID?
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 显示数组中的学生 ID 和最高分
- C++:"("令牌"之前有预期的非限定 id 指向类中成员函数的指针
- 在PostgreSQL中根据它们的ID选择大量行的最快方法是什么?
- Xcode 9.4.1 中的 Apple Mach-O 链接器 (id) 错误
- 错误:令牌 { '{' 之前应存在非限定 ID
- GDB 断点在 Mac 上是不准确的
- 断言"id < 0"在Qt ActiveX中失败
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- 如何根据两个因素组织向量:id 和数量?(C++)
- 在返回 0 之前应为非限定 ID
- 是否有一种方法可以启用/禁用除ID之外的断点