Why does NSAssert break in main instead of in the code that call the assertion

感情迁移 提交于 2019-11-28 09:27:59

问题


I set this NSAssert

NSAssert(isStillLoadingArgument== [[self class] stillLoading],@"Hmm.... we think isStill Loading is false or true and yet stillLoading is true");;

Here is the screenshot of where I ask this question:

Then when assertion fail, the code break here:

Which is very annoying because I want to see the assertion break on the code I set up the assertion instead. So, how do I do so.

Ben answer unfortunately doesn't solve the issue:


回答1:


You need to add a Breakpoint to your project for all exceptions.

1) Click on breakpoint navigator

2) Add an exception breakpoint

3) Make sure you set it to break on all exceptions

Now XCode will break to the actual assert rather than main. Hope this helps!




回答2:


Configure the debugger to break on exceptions.

When an assertion fails, it raises an exception. If nothing catches the exception, it terminates the program after unwinding the stack, leaving it at main().



来源:https://stackoverflow.com/questions/10844725/why-does-nsassert-break-in-main-instead-of-in-the-code-that-call-the-assertion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!