NSZombiEnabled设置
问题描述:
我想检查NSZombieEnabled在我的代码中工作。 我有以下设置:NSZombiEnabled设置
,我已经在didFinishLaunchingWithOptions
NSString *string = nil;
[string release];
string = @"abc";
,但下面的代码,也没有产生错误。 NSZombie也没有通知。我应该做更多的设置。请帮助我,因为我已经导入了一个lib,并且发生了代码为13的EXC_BAD_ACCESS,并且我无法找到错误原因。
堆栈和控制台看起来像这样
答
你的设置是正确的,但你的代码不会产生任何僵尸。僵尸是一个已经被释放但被重新使用的物体。像这样将创建一个僵尸:
NSString* string = [NSString stringWithString:@"abc"];
[string release];
[string length];
在这个例子中,字符串被释放,然后尝试通过调用其length
方法来使用它。
对于您的库,堆栈在给您EXC_BAD_ACCESS时的样子是什么?
感谢您解释这个概念。我试图生成一个僵尸,就像你建议的那样,但是日志中仍然没有错误/消息。代码直接进入下一步,没有任何警告/错误/消息。至于图书馆,我已经在EDIT中添加了详细信息。 – Vinayaka