【问题标题】:EXC_BAD_access code=2 address 0x8EXC_BAD_access code=2 地址 0x8
【发布时间】:2013-09-27 23:27:53
【问题描述】:

我有一个我一直在开发的应用程序,它在 XCode 4.5 中的 iOS 6 上运行良好,但现在我下载了带有 iOS 7 的 XCode 5 并收到此错误,

线程 1:EXC_BAD_access code=2 地址 0x8

在 main.m 中:

#import <UIKit/UIKit.h>
#import "TestAppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestAppDelegate class]));
    }
}

我下载了 iOS 6 sdk 并且代码在 iOS 6 sdk yet 上完美运行,但在 iOS 7 上,我收到此错误,我不知道为什么? 我尝试对此进行调试,但没有得到有关崩溃的信息。我阅读了一些关于僵尸的信息,并通过转到 Product->Edit Schema->Diagnostic->Enable Zombie Object 来启用它。但即使在这之后,我也没有得到任何帮助。

任何指针?

【问题讨论】:

  • 指针:Mac OS X Debugging Magic 和 TN2239(在 Xcode 帮助中搜索)用于 iOS。
  • 你设置了符号“异常断点”吗?
  • 我应该在哪里设置这个? ,如果你的意思是断点,是的,我会这样做,但我不知道是什么问题以及错误发生在 cod 上的位置

标签: iphone objective-c ios7 xcode5


【解决方案1】:

我也有这个错误,因为在我的用户模型类中我有一个额外的对象,我声明为

var image = UIImage() 

我没有将它用于我从模型类中取出它的任务,我的应用程序没有崩溃我会检查模型类。

【讨论】:

    【解决方案2】:

    我想扩展 Vinzzz 给出的提示,但略有不同(例外不是符号断点)。

    这里的问题是程序在操作系统捕获的异常(错误访问)上停止。您需要比这更早一步,以查看代码中可能导致 iOS 异常的异常。转到左侧 Xcode 屏幕面板部分 (Breakpoint Navigator) 的断点选项卡。然后在面板的底部应该有一个+号。单击此处并添加“异常断点”。重新运行您的程序,您现在应该在尝试将问题引入操作系统环境时设置断点。这提供了有关谁和什么是原因的信息。

    【讨论】:

      【解决方案3】:

      当您到达 (lldb) 提示符时,请尝试点击继续按钮。这可能会在调试器控制台顶部显示潜在的错误消息。查找粗体文本的顶部以查看导致问题的可能对象。这种类型的错误通常是指试图访问已被释放的对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-06
        • 2014-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-04
        • 2015-10-07
        相关资源
        最近更新 更多