objective-c - 变量损坏

标签 objective-c crash exc-bad-access

我正在使用基于Apple UIKit的Objective-C开发iPhone应用程序。

我在UIViewController中创建了一些类实例,发现我的类实例指针随机损坏。由于类实例指针损坏,我总是这样遇到EXC_BAD_ACCESS崩溃:
异常类型:EXC_BAD_ACCESS(SIGSEGV)
异常代码:位于0xa095633c的KERN_INVALID_ADDRESS
损坏的线程:0

它表明,当我的代码尝试访问类实例时,它已经变成一个荒谬的地址:0xa095633c,它超出了内存空间,甚至是二进制图像空间。

有没有人建议什么样的不正确编码可能导致类实例损坏?

最佳答案

有很多原因可以导致这种情况。仅举几个:

  • 访问已删除的对象
  • 不正确的多线程
  • 指针算术
  • 中的错误
  • 堆栈损坏
  • 超出数组范围

  • 学习使用调试器和调试日志记录来跟踪出现无效指针的位置和时间。

    尝试创建一个重现问题的小型测试程序,以便您可以发布代码示例。

    关于objective-c - 变量损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103004/

    相关文章:

    c++ - 仅 Debug模式下的 Cocoa 异常

    objective-c - 在 Cocoa Mac Os X 桌面应用程序中,我可以配置项目以便将没有扩展名的文件拖到应用程序的图标中吗?

    ios - objective-c : Need suggestion for my way of having protected method?

    ios - 在 2 个 for 循环中将旧的 NSDictionary 值添加到较新的 NSDictionary

    ios - ZoomingPDFViewer 崩溃

    ios - 在 CAKeyframeAnimation 中崩溃,用于沿路径对 View 进行动画处理

    ios - 保存 indexPaths 列表

    java - 使用 RescaleOp 类时 JVM 崩溃 - 可能是什么原因导致的?

    Android - 这是发送单个 UDP 数据包的正确方法吗?

    objective-c - 刷新 UITableview 导致 EXC_BAD_ACCESS 错误