我写了一个完整的应用程序,我正准备将它提交到应用程序商店,在我的最终测试中,我回过头来添加了一些版本以确保观察到正确的内存管理。从那以后,我不断收到这些随机崩溃。我已经尝试删除部分或全部释放调用,我尝试保留对象。我清理了这个项目。我使用NSZombieEnabled
,但也没有帮助。这一切都无济于事。
大多数情况下,控制台说不提供任何帮助。通常应用加载,我将NSLogs
放在viewDidLoad
,viewDidAppear
和viewWillAppear
中,它们都显示在控制台中,然后崩溃。
有时我也会EXC_BAD_ACCESS
(我知道这意味着什么)。但它随机发生。所以这对我没有意义。感谢您提供任何帮助。我写了这整个应用程序,花了几个月的时间。所以我真的被卡住了。谢谢。
答案 0 :(得分:2)
你试过Build - >分析?它会搜索您的代码以查找泄漏以及您可能错过的其他有用的东西。试试看,看看它是否适合你。
答案 1 :(得分:1)
我同意鲁迪的观点。听起来你正在发布一些仍在使用的东西。我会回到正在运行的版本,并开始一次添加一个版本,直到它导致崩溃。缓慢但有效的调试。
答案 2 :(得分:1)
当你说你“有时”得到EXC_BAD_ACCESS
时,剩下的时间你会得到什么?崩溃堆栈在哪里表明你崩溃了?你收到什么信息?
随机崩溃通常表示计时问题。一个常见原因是访问多个线程上的内容。你是?它还可能意味着基于网络流量的时序差异。
确保控制台不指示异常而不是内存违规。通常控制台中有一些有用的东西。