无法及时恢复Crashlog

时间:2012-07-16 22:38:12

标签: cocos2d-iphone crash crash-reports

我试图找出“未能及时恢复”的问题。在我们的一个测试设备(具有最新操作系统的iPhone 4S)中,它经常发生,而在我自己的设备中,它似乎根本不会发生。

无论如何,我得到了一些崩溃日志。我无法追查原因的根源。我知道问题可能是

1.当进程持续主线程太长时间时。

2.存在内存问题时。

我不认为内存是一个很大的问题,因为它似乎发生在用户离开主菜单并返回时。主菜单中没有发生任何事情,所以它可能是一个运行时间太长的任务。

以下是崩溃日志的摘录:

有人可以帮助我或指导我可以追踪问题的原因吗?有没有关闭看门狗定时器(可能不是吧?)另外,突出显示的线程是指什么?

  1. 我已经检查了我的applicationDidBecomeActive& applicationWillEnterForeground以确保那里没有任何内容。

  2. 据我所知,此时没有同步调用。 Reachability是否使用同步调用来检查互联网?我该如何检查?

  3. 我在恢复时没有进行任何大量数据传输。

  4. 我注意到GameCenter会在恢复您的应用时自动登录或检查登录。反正有没有阻止这个?这可能导致超时问题吗?

  5. 我尝试过制作时间档案,但我无法理解如何使用它进行分析。如果你能为此提供一个好的资源,那就太棒了。

    感谢!!!

1 个答案:

答案 0 :(得分:1)

您目前正在“尝试查找问题模式”。你应该切换到“试图找出这个问题的真正含义”模式。

所以去寻找另一个4S(实际上尽可能多)来排除这是一个特定于设备的问题。如果它发生在所有4S上,应该更容易确定。如果没有,让别人看一看,讨论可能的原因。当您陷入死胡同时,对等编程方法通常会有所帮助。

如果问题仅出现在那台设备上,您可能需要检查它是否损坏(或“越狱”),或者可能只是需要硬重启(保持电源和家庭10秒以上)。

如果它只发生在某些设备上,而不是全部,请尝试找到它们的共同点。这可能是语言/语言环境或听写,实际上是用户可能已经更改的任何类型的设置。如有必要,请编写一个记录器,将尽可能多的设置记录到您的(Web)服务器,这样您就可以逐个比较设置并快速丢弃那些不同步的设置。

如果只有极少数设备受到影响,您也可以忽略该问题,并希望用户的其他崩溃日志能够揭示问题的关键。

最后,总是可以选择在终止时禁用暂停,而是在按下主页按钮时终止应用程序(因为它是在iOS 4之前)。除非该应用程序必须在后台运行。