How to make Xcode4 stop at NSAssert failure?
Currently开发者_如何转开发, my Xcode4 does not stop at NSAssert
failure. How can I make it stop at NSAssert
failure again?
- Go to the XCode 4 breakpoint navigator.
- Click the + button and choose "Add Symbolic Breakpoint"
- Set Symbol: to "-[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]"
- Click "Done"
Now you will stop in the debugger as soon as NSAssert fires. In my testing, it goes to the nearest source code and doesn't just show you the assembly where you set the breakpoint.
More Generically, you could do this:
- Go to the breakpoint navigator.
- Click the + button and choose "Add Exception Breakpoint"
- Set Exception: to "Objective-C"
- Set Break: to "On Throw"
- Click "Done"
This may be more or less useful depending on your code.
See also the XCode 4 documentation result for "Adding an Exception Breakpoint"
Assertions are automatically disabled, by default, in a Release build. If you want assertions to work, do a Debug build, or turn off the Other C Flags build setting where assertions are turned off in the Release build.
精彩评论