Just a quick one: This may be obvious to many devs, but it’s worth noting. One common and useful debugging technique is breaking on exceptions, so that you can see exactly where in your app’s flow a breakpoint occurs.
This can be done by adding
-[NSException raise] and
objc_exception_throw to your breakpoints list.
Once an exception happens, you can then check out the exception itself to see what went wrong. The approach varies between platforms. If you’re in the simulator (or any Mac OS X app running on Intel), the exception will be stored in the
$eax register. Take a look by typing:
If you’re on the iPhone, it’ll be