61

I am trying to use lldb for c++ debugging and I want to halt if an exception is thrown, like gdb's catch throw, and I cannot find an equivalent in the lldb documentation.

plaisthos
  • 6,255
  • 6
  • 35
  • 63

3 Answers3

80

Use breakpoint set -E c++ to break on all exceptions and breakpoint set -F std::range_error to break on a specific exception.

Lucian Adrian Grijincu
  • 2,491
  • 2
  • 18
  • 18
Jonas K
  • 4,215
  • 2
  • 24
  • 25
62

In Xcode, you can set an Exception breakpoint (View > Navigators > Show Breakpoint Navigator, hit the + button in the bottom of the breakpoint list window to add a new breakpoint).

If you're using command line lldb, put a breakpoint on __cxa_throw for C++ exception throws, objc_exception_throw for Objective-C exception throws.

For all c++ exceptions: break set -E C++.

Ven
  • 19,015
  • 2
  • 41
  • 61
Jason Molenda
  • 14,835
  • 1
  • 59
  • 61
0

I think breakpoint set -w <boolean> is the correct answer, you can use help breakpoint set to see the document.