iOS App在退出时崩溃,如何调试?

时间:2011-07-28 23:44:30

标签: ios debugging crash quit

当我退出时我的应用程序崩溃了(不按主页按钮并转到后台),我想问题是在viewDidUnload中释放的一些对象会在dealloc中再次释放,但我不确定。由于我的代码超过10000行,是否有任何工具或方法,所以我可以快速查明错误?或者它是由其他东西而不是一个对象被释放两次引起的?

谢谢!

以下是左侧窗格的屏幕截图:

When crashes

另外,我尝试在viewDidUnload和dealloc中记录消息,但没有看到任何错误消息。

- (void)viewDidUnload {
    print "viewDidUnload 1";
    // actual method body
    print "viewDidUnload 2";
}

与dealloc相同。

编辑2: 我的应用程序使用Core Data,因此在退出Core Data时我需要手动完成任何操作(或者它会崩溃)吗?

3 个答案:

答案 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中崩溃。你用那个吗? 我不得不从项目中完全删除它(不仅没有启动会话!)来修复此崩溃。