ios - 线程 1 : EXC_BAD_ACCESS (code=1, 地址=0xf1759018)

标签 ios xcode runtime-error exc-bad-access

所以我收到了这个错误(下图)。当我收到此错误时发生的事情是通过我的核心数据数据库并根据我收集的电池统计数据对结果进行平均。这工作正常,直到我休息一下然后回来,将其插入并开始出现此错误。我有一个异常断点,但除了图像中的崩溃之外,它仍然没有向我显示任何内容。

有人知道我该怎么做吗?

xcode 版本 5.0

如果我可以发布任何其他有助于找出导致此问题的原因,请告诉我!

This is the error

最佳答案

对于任何 EXC_BAD_ACCESS 错误,您通常是在尝试向已释放的对象发送消息。追踪这些的最佳方法是使用 NSZombieEnabled .

它的工作原理是从不真正释放一个对象,而是将它包装成一个“僵尸”,并在其中设置一个标志,表明它通常会被释放。这样,如果您尝试再次访问它,它仍然知道您犯错误之前的情况,并且利用这一点信息,您通常可以回溯以查看问题所在。

当调试器有时会在任何有用信息上乱码时,它在后台线程中特别有用。

非常重要的是要注意但是,您需要 100% 确保这仅在您的调试代码中,而不是您在 XCode 之外测试的任何代码。因为什么都没有发布,你的应用程序会泄漏,泄漏和泄漏。为了提醒我这样做,我将此日志放在我的 appdelegate 中:

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

如果您需要帮助找到确切的行,请构建并运行。当应用程序崩溃时,调试器将准确显示哪一行,并结合 NSZombieEnabled,您应该能够准确找出释放后访问的对象的原因和类型。

关于ios - 线程 1 : EXC_BAD_ACCESS (code=1, 地址=0xf1759018),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913394/

相关文章:

java - 我需要创建一个可以在所有智能手机上运行的智能手机应用程序,我该怎么做?

ios - swift ...当按下按钮并将其恢复正常时,如何更改图像?

xcode - 有没有办法跳转到Xcode中的特定方法?

c - C 中的运行时错误

xcode - 如何跟踪导致运行时错误的行?

ios - 在容器 View 上添加 ViewController 时, TableView 动画无法正常工作?

ios - 在RubyMotion中获取当月底的时间对象

iOS SpringBoard 不加载通知服务扩展

iphone - 经销证书

Python tornado 使用 finish() 停止执行