【发布时间】:2013-08-06 12:52:19
【问题描述】:
NSAssert 在运行调试器时在 Xcode 4(最高 4.6 包括在内)中运行良好。断言触发,你给它断点,然后它输出断言消息。
但是当在调试器外部运行时(在设备上调试构建),断言触发 - 但没有消息。
这使得断言毫无用处:你可以看到断言的行号,但程序员的详细信息已被擦除。
这是 Xcode 的问题吗?铿锵声/LLVM 问题?是设置错误的值吗?或者有什么解决方法?
示例代码:
NSAssert(FALSE, @"X was invalid: %i", x );
示例输出(控制台):
<Warning>: *** Assertion failure in -[myClass method:], myClass.m:124
<Notice>: Formulating crash report for process MyApp[82]
预期输出(控制台):
<Warning>: *** Assertion failure in -[myClass method:], myClass.m:124
<Warning>: *** "X was invalid: -435"
<Notice>: Formulating crash report for process MyApp[82]
注意:我只是猜测 Apple 会如何格式化断言消息。
更新:发现了问题。我原来的描述有误:
消息在调试器中运行时没有输出到控制台
【问题讨论】:
标签: ios objective-c xcode llvm