【问题标题】:"__NSAutoreleaseFreedObject(): release of previously deallocated object" out of the blue“__NSAutoreleaseFreedObject():释放先前释放的对象”出乎意料
【发布时间】:2011-03-17 20:11:27
【问题描述】:

我不确定这是否是错误。代码编译得很好(没有警告),但是当我输入一个方法时,一个本地的值(一个 NSMutableString)会在调试器中显示这个内容:

__NSAutoreleaseFreedObject(): release of previously deallocated object

我没有遇到异常,看起来字符串的内容(当时甚至没有分配)是 NSAutoReleaseFreedObject 警告。

发生了什么事?

【问题讨论】:

    标签: cocoa xcode debugging nsmutablestring


    【解决方案1】:

    如果你不将一个普通的局部变量初始化为任何东西,它的值是未定义的——它可以是任何东西。实际上,它会将恰好位于分配变量的堆栈上的位模式解释为变量类型的值。在这种情况下,变量包含的“任何东西”恰好是该字符串的地址。

    【讨论】:

      【解决方案2】:

      它(很可能)意味着您的应用程序的执行与平时不同,并且在您对对象的引用计数中暴露了一个错误。此类问题也可能与不正确的多线程有关。

      执行您的应用程序以触发启用僵尸的问题应该可以帮助您找到它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 2015-04-25
        • 1970-01-01
        • 2011-03-16
        • 2011-07-15
        • 2015-09-25
        相关资源
        最近更新 更多