我正在获取EXC_BAD_ACCESS。我知道这通常意味着什么:最有可能的原因是尝试访问不存在的对象。

那么,我在哪里找到呢?

我在互联网上阅读了无数帖子,他们都说:

该方案中的“启用NSZombie”。

现在,当我运行调试器时,我应该看什么?我看不出有什么区别...

注意:这与我的代码中的错误无关,而是通常如何在启用NSZombie的情况下使用调试器

最佳答案

我要做的是将一个断点定位在显示EXC_BAD_ACCESS错误的绿色箭头上方仅一行的位置。然后再次运行您的代码并重现生成崩溃的步骤。

到达断点时,可以右键单击并在Xcode的控制台左侧打印说明,或在XCode的控制台部分中键入命令“po”,以检查您的对象是否为有效对象。那就是我通常检测错误的方式。

调试器停止后,可以跟踪堆栈。它在左面板中显示了断点之前的方法的线程和调用链。

希望这会有所帮助,并希望我对如何跟踪错误的替代方法的描述有所帮助。

09-07 11:41