如何使Xcode4在NSAssert失败时停止?
目前,我的Xcode4没有在如何使Xcode4在NSAssert失败时停止?,xcode4,Xcode4,目前,我的Xcode4没有在NSAssert失败时停止。如何使其再次在NSAssert故障时停止 转到XCode 4断点导航器 单击+按钮并选择“添加符号断点” 将符号设置为“-[NSAssertionHandler handleFailureInMethod:对象:文件:行号:说明:” 单击“完成” 现在,一旦NSAssert触发,您将在调试器中停止。在我的测试中,它会转到最近的源代码,而不仅仅是向您显示设置断点的程序集 更一般地说,您可以这样做: 转到断点导航器 单击+按钮并选择“添加异常断
NSAssert
失败时停止。如何使其再次在NSAssert
故障时停止
另请参见XCode 4文档结果中的“添加异常断点”默认情况下,在发布版本中会自动禁用断言。如果希望断言工作,请执行调试生成,或关闭其他C标志生成设置,在发布生成中关闭断言。您应该接受答案:答案显示如何记录放入
NSAssert
的消息。这对我很有帮助。现在我在我自己的断言宏中使用后一种方法:EONIL_ASSERT(cond,msg…{if(!(cond)){NSLog(msg);}nsassert((cond),@“assertion failed.”;}
,因为这是一个在断言处理程序开始时停止执行的断点,您所要做的就是点击“继续”,应用程序将继续运行,并正常记录断言。@我遵循Steve Maguire在《编写可靠代码》一书中所述的断言准则。调试代码始终是对发布代码的补充,而不是替代。通过混合发布版本错误处理和调试版本断言,您违背了该建议。它使代码更难理解,因为您看到的只是EONIL_断言(release error condition,@“一刀切”的错误消息);这是一个非常有用的答案!我想知道为什么Xcode默认情况下不启用此行为。。。