“__NSAutoreleaseFreedObject():释放以前解除分配的对象”突然出现

时间:2011-03-17 20:11:27

标签: cocoa xcode debugging nsmutablestring

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

__NSAutoreleaseFreedObject(): release of previously deallocated object

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

发生了什么事?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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