当我退出时我的应用程序崩溃了(不按主页按钮并转到后台),我想问题是在viewDidUnload中释放的一些对象会在dealloc中再次释放,但我不确定。由于我的代码超过10000行,是否有任何工具或方法,所以我可以快速查明错误?或者它是由其他东西而不是一个对象被释放两次引起的?
谢谢!
以下是左侧窗格的屏幕截图:
另外,我尝试在viewDidUnload和dealloc中记录消息,但没有看到任何错误消息。
- (void)viewDidUnload {
print "viewDidUnload 1";
// actual method body
print "viewDidUnload 2";
}
与dealloc相同。
编辑2: 我的应用程序使用Core Data,因此在退出Core Data时我需要手动完成任何操作(或者它会崩溃)吗?
答案 0 :(得分:3)
在真实设备上测试 - 如果应用程序崩溃,将生成崩溃日志。它将在与您的设备对应的设备日志部分的XCode管理器窗口中提供。
该日志将为您提供崩溃的调用堆栈,可能会缩小您需要搜索的位置。
答案 1 :(得分:0)
很难说你是否没有发布任何代码。
你有崩溃日志吗?
你是如何在viewDidUnload
发布的?
[_mayVar release]; // 1. on its own this will most likely cause a crash
[_mayVar release]; _myVar = nil; // 2. This is better as sets the pointer to nil
self.myVar = nil; // 3. If you use properties this is easier than line 2
答案 2 :(得分:0)
我有同样的问题,并在真实设备上运行它表明它在FlurryAnalytics中崩溃。你用那个吗? 我不得不从项目中完全删除它(不仅没有启动会话!)来修复此崩溃。