When the debugger stops, go to the "Debug Navigator" and make sure the slider on the bottom is all the way to the right.
Scan your eye down from the point at which the exception is thrown and you should eventually come to your own code. Click on the appropriate method/function name and the code will be opened in the editor.
If you don't see any of your own methods in the stack trace, the exception may have been passed through a performSelector
-style call in which case the stack trace is gone. If this is the case, you may get better information by adding an "On Throw" exception break point. First switch to the "Breakpoint navigator":
Then click on the plus and choose "Add Exception breakpoint..."
Create an "On Throw" break point:
This will stop the debugger at the exact point the exception is thrown, and you get a better stack trace. It's a good idea to have an exception break point like this enabled all the time, although you will occasionally get internal exceptions from Apple code (e.g. when using QLPreviewController, MPMoviePlayerController).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…