我正在尝试使用lldb进行c++调试,我希望在抛出异常(如gdb的catch throw)时暂停,但我在lldb文档中找不到等效的异常。
catch throw
wz3gfoph1#
使用breakpoint set -E c++在所有异常上中断,使用breakpoint set -F std::range_error在特定异常上中断。
breakpoint set -E c++
breakpoint set -F std::range_error
a14dhokn2#
在Xcode中,您可以设置一个Exception断点(View〉Navigators〉Show Breakpoint Navigator,点击断点列表窗口底部的+按钮以添加新断点)。如果你使用的是命令行lldb,在__cxa_throw上设置一个断点,用于C异常抛出,在objc_exception_throw上设置一个断点,用于Objective-C异常抛出。对于所有C异常:break set -E C++ .
__cxa_throw
objc_exception_throw
break set -E C++
qzwqbdag3#
我认为breakpoint set -w <boolean>是正确答案,您可以使用help breakpoint set来查看文档。
breakpoint set -w <boolean>
help breakpoint set
3条答案
按热度按时间wz3gfoph1#
使用
breakpoint set -E c++
在所有异常上中断,使用breakpoint set -F std::range_error
在特定异常上中断。a14dhokn2#
在Xcode中,您可以设置一个Exception断点(View〉Navigators〉Show Breakpoint Navigator,点击断点列表窗口底部的+按钮以添加新断点)。
如果你使用的是命令行lldb,在
__cxa_throw
上设置一个断点,用于C异常抛出,在objc_exception_throw
上设置一个断点,用于Objective-C异常抛出。对于所有C异常:
break set -E C++
.qzwqbdag3#
我认为
breakpoint set -w <boolean>
是正确答案,您可以使用help breakpoint set
来查看文档。