52

我正在尝试使用 lldb 进行 c++ 调试,如果抛出异常,我想停止,比如 gdb's catch throw,我在 lldb 文档中找不到等效项。

4

3 回答 3

66

用于break set -E c++中断所有异常并break set -F std::range_error中断特定异常。

于 2014-03-19T10:30:09.533 回答
60

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

如果您使用的是命令行 lldb,请__cxa_throw为 C++ 异常抛出、objc_exception_throwObjective-C 异常抛出设置一个断点。

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

于 2012-10-07T10:43:26.780 回答
0

我认为breakpoint set -w <boolean>是正确的答案,您可以使用help breakpoint set查看文档。

于 2014-11-29T15:49:45.290 回答