请原谅这里的新手 - 我正在模拟器中运行一个应用程序,有时当它崩溃时它会在控制台中发布有用的信息,其他时候绝对没有。如果没有发布任何内容,那么开始追踪崩溃原因的步骤是什么?
答案 0 :(得分:10)
首先在崩溃后打开调试器并查看堆栈跟踪。
除此之外,当出现那些模糊的错误访问错误时,您可以为可执行文件启用NSZombieEnabled。
带有堆栈跟踪的调试器(左上角窗口),XCode3
Stacktrace Xcode4
答案 1 :(得分:5)
我可以通过我们的应用程序不断重现这种行为。它使用ARC所以我很确定没有任何过度释放,我们已经启用了僵尸。 Xcode将显示“Paused”而不是显示线程列表,“Continue”按钮处于活动状态,但没有执行任何操作,并且在(gdb)提示符上输入 bt 表示否叠加。强>
这让我发疯了!
答案 2 :(得分:0)
确定应用程序崩溃的事件。例如,如果应用程序在单击UIButton时崩溃,您可以在操作上放置一个断点并逐步执行代码行以查看崩溃发生在哪一行。有时,当应用程序崩溃时没有崩溃日志时,通过此方法进行调试确实会有所帮助。
我认为这是一个记忆问题。
答案 3 :(得分:0)
有时它也发生在我身上..应用程序崩溃而没有任何错误消息发布在日志中.95%的时间是因为我不会发布某些内容或者会发布内容并访问它(这通常会创建一个日志)...查看您的代码,看看您是否正确发布并在需要时使用自动释放选项......