在lldb中,我希望在C ++抛出异常之前中断,在生成实际信号时。我想为任何类型的例外做这件事。
以下命令将在C ++ throw catcher上中断 break set -E c ++
我想打破异常的原因并忽略C ++ throw / catch,就像应用程序崩溃一样。对于没有源代码的应用程序,我也喜欢这样做。
我可以在这里使用lldb voodoo吗?
答案 0 :(得分:1)
我不完全确定你在问什么。
C ++中的异常抛出做两件事,创建异常对象,然后直接调用一些运行时例程(大多数Unixen上的__cxa_throw)来实现展开。后者是异常断点停止的点。除此之外,还没有任何可以挂钩的初步信息。
您可以在分配异常对象时尝试中断。在OS X& Linux这是__cxa_allocate_exception,但我不知道是否总会被调用或者是否有其他方法可以进行异常......我不知道你将从中获得多少收益,但是,它& #39;稍后您将看到对throw方法的调用。
但也许如果你描述了你实际上想要解决的问题,我们可以更有帮助地回答......