【发布时间】:2018-04-23 20:07:41
【问题描述】:
我已经调试了一段时间的应用程序,并准备将其上传到应用商店。但是,我仍然偶尔会遇到难以复制或调试的崩溃——例如以奇怪的顺序按下按钮时。如果我把这些序列写下来,我可以调试,但当我没有写下来时不可避免地会发生这种情况,而且这些序列可能难以复制。
我知道我需要收工并将未来的错误修复留到下一个版本。我已经删除了我在测试中的所有 abort() 语句。但是,有时我不会遇到让您关闭应用程序并重新打开的崩溃,而是会遇到一个导致无法在不重新安装的情况下打开应用程序的崩溃。例如,这刚刚发生,带有
'NSGenericException',原因:'*** Collection <__nscfset:> 在枚举时发生了变异。'
这是在后台同步到云期间切换 VC 造成的。
我可以忍受只需要重新打开的崩溃,但不能忍受导致应用程序无法使用的崩溃。是否有任何针对崩溃类型的指南来帮助您专注于真正致命的崩溃?
或者有什么办法可以防止应用程序崩溃?
【问题讨论】:
-
解决根本原因。确保您的代码是线程安全的。
-
似乎是竞争条件的问题。
标签: ios objective-c debugging crash