There have been posts about how to use exception breakpoint in Xcode. But my question is what exactly that is? It seems that I get a much complete stack trace when I enable exception breakpoint for all exceptions. Why is that so? Also I don't get error messages anymore. I am just really curious about how exception break points work. Thanks
It's just a GUI wrapper around setting a symbolic breakpoint on objc_exception_throw
.
objc_exception_throw
is just a C function that is used to raise all exceptions. So it's just like breaking on any function.
You don't get log messages any more because the debugger stops when the exception is thrown. If you continue from there, the exception will eventually be handled by the application which logs it by default. If you don't continue, though, you won't get any logs.