线程1:EXC_BAD_ACCESS(代码= 1,地址= 0xf1759018)

所以我得到这个错误(下图)。 发生这种错误时发生的事情是通过我的核心数据库,并根据我收集的电池统计数据取平均值。 这工作正常,直到我rest,然后回来,插入它,并开始得到这个错误。 我有一个exception断点,但它仍然不显示任何东西,除了在图像中的崩溃。

任何人都知道我该怎么办?

xcode版本5.0

让我知道,如果我可以发布其他任何东西,可以帮助找出是什么原因造成的!

这是错误

对于任何EXC_BAD_ACCESS错误,通常您都会尝试向已发布的对象发送消息。 跟踪这些最好的方法是使用NSZombieEnabled 。

这种方法从来没有实际上释放一个对象,而是通过将其包装为一个“僵尸”,并在其内部设置一个通常会被释放的标志。 这样,如果您尝试再次访问它,它仍然知道在发生错误之前是什么,并且通过这些信息,您通常可以回溯查看问题所在。

debugging器有时会在后台线程中提供有用的信息。

不过要注意的是,你需要100%确保这只是在你的debugging代码中,而不是你在XCode以外testing的任何代码。 因为什么也没有发布,你的应用程序将泄漏,泄漏和泄漏。 为了提醒我这样做,我把这个日志放在我的appdelegate中:

 if (getenv("NSZombieEnabled")) NSLog(@"NSZombieEnabled!"); 

如果您需要帮助查找确切的行,生成和运行。 当应用程序崩溃时,debugging器将会显示你到底是哪一行,并与NSZombieEnabled结合起来,你应该能够准确地find被释放之后为什么以及什么types的对象被访问。

有时候一个快速的解决办法是从设备上删除你的应用程序,然后再次运行。 如果这个工作,这意味着你改变了你的核心数据模型或类似的东西。