我有一个有害的EXC_BAD_ACCESS
错误。我已经启用了僵尸跟踪,但是程序总是在main处停止,而不是产生特定的堆栈跟踪
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
有谁知道为什么我没有有意义的堆栈跟踪?该应用程序使用核心数据,而performBlockAndWait
方法中的大部分核心数据活动都是封闭的 - 这可能与它有关吗?
我还有来自NSZombieEnabled的日志消息*** -[_PFArray release]: message sent to deallocated instance 0x395d0fe0
。有没有办法找出最初在日志消息中的地址分配的内容?
由于
答案 0 :(得分:0)
是的。在模拟器上使用仪器运行您的应用程序。选择Zombies乐器并执行使您的应用程序崩溃的确切步骤。 Zombies仪器仅在模拟器上可用,因为Mac上的RAM比iOS设备上的RAM多。
答案 1 :(得分:0)
您可以查看有关崩溃的this教程并找出要做的事情。密切关注这一部分:
程序被捕获时会发生异常 不应该这样做。你现在看到的是后果 这个例外:应用程序做错了什么,例外 抛出,Xcode会显示结果。理想情况下,你想要看到 究竟该异常被抛出的地方。幸运的是,你可以告诉 Xcode使用Exception在那一刻暂停程序 断点。断点是一种暂停程序的调试工具 在特定的时刻。