iphone: - [CFString release]:发送给deallocated实例的消息

时间:2012-03-07 21:54:48

标签: iphone memory nsstring dealloc cfstring

我正在处理的应用程序在iPhone上运行但在模拟器上运行时不会崩溃(尽管在没有符号malloc_error_break的情况下运行时会显示警告,但应用程序仍在使用Sim)

我不会手动释放任何字符串,而是使用:

[[[NSString / NSMutableString alloc] init] autorelease]; 

(我一直都在为其他应用做这件事而从来没有给我一个问题)

现在,当我将malloc_error_break设置为断点时,我得到了:

2012-03-07 17:04:06.072 columns[15487:f803] *** -[CFString release]: message sent to deallocated instance 0x68c8210

XCODE4跳转到:

int main(int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");   >>> Thread 1
    [pool release];
    return retVal;
 }

我在模拟器btw

上运行时也有NSZombieEnabled

如果有人可以帮我解决如何在XCODE 4上调试此问题,或者指向我在线教程,我将不胜感激!

此致

大卫

1 个答案:

答案 0 :(得分:4)

从NSString方法中删除自动释放并重新添加它们直到它崩溃(我想现在这是答案,所以...)