How to make Xcode4 stop at NSAssert failure?

前端 未结 2 1244
不知归路
不知归路 2021-01-30 14:40

Currently, my Xcode4 does not stop at NSAssert failure. How can I make it stop at NSAssert failure again?

相关标签:
2条回答
  • 2021-01-30 15:11

    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.

    0 讨论(0)
  • 2021-01-30 15:20
    1. Go to the XCode 4 breakpoint navigator.
    2. Click the + button and choose "Add Symbolic Breakpoint"
    3. Set Symbol: to "-[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]"
    4. 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:

    1. Go to the breakpoint navigator.
    2. Click the + button and choose "Add Exception Breakpoint"
    3. Set Exception: to "Objective-C"
    4. Set Break: to "On Throw"
    5. 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"

    0 讨论(0)
提交回复
热议问题