iphone: -[CFString release]: 消息发送到已释放的实例

标签 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;
 }

在模拟器上运行时我也有 NSZombieEnabled 顺便说一句

如果有人可以帮助我如何在 XCODE 4 上调试它或向我指出在线教程,我将不胜感激!

问候

大卫

最佳答案

从你的 NSString 方法中删除 autorelease 并将它们添加回来,直到它崩溃(我想这就是现在的答案,所以......)

关于iphone: -[CFString release]: 消息发送到已释放的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9609691/

相关文章:

ios - 将 NSString 转换为 Cocos2d-x CCString

iphone - iOS 上 PhoneGap 2.0 的应用内购买 (IAP) 插件?

缓存未命中和缓存命中

iphone - CoreAudio AudioTimeStamp.mHostTime时钟频率?

java - `malloc` 和 `free` Java NDK Wrap 是克服 Android 自动回收的唯一方法吗?

memory - Hadoop复制无法正常工作

objective-c - 使用带换行符的 NSString "drawInRect"

ios - 没有分配访问权限的全局 NSString 仅在 2 个位置或两个方法中,在第 3 个位置使应用程序崩溃

iphone - 在sqlite数据库中插入大量数据需要很长时间

iphone - 点击 UITabbar 按钮上的手势