异常断点(相当于gdb的捕获量)

pla*_*hos 43 debugging llvm lldb

我试图使用lldb进行c ++调试,如果抛出异常,我想暂停,比如gdb catch throw,我在lldb文档中找不到等价物.

Jon*_*ing 51

使用break set -E c++对所有异常破裂,break set -F std::range_error对一个特定的异常中断.


Jas*_*nda 49

在Xcode中,您可以设置一个异常断点(View> Navigators> Show Breakpoint Navigator,点击断点列表窗口底部的+按钮添加一个新的断点).

如果您正在使用命令行lldb,请__cxa_throw为C++异常抛出设置一个断点,objc_exception_throw用于Objective-C异常抛出.

对于所有c ++异常:break set -E C++.

  • 对于所有c ++异常:break set -E c ++ (13认同)
  • 对于特定的excpetion:break set -F std :: range_error (5认同)
  • '-F'和'-E'变体对我不起作用,但'breakpoint -n __cxa_throw'确实起作用(对于所有异常),以及'breakpoint -n <exception-name>'(对于特定的异常) ). (3认同)