NSZombiEnabled设置

问题描述:

我想检查NSZombieEnabled在我的代码中工作。 我有以下设置:NSZombiEnabled设置

enter image description here

enter image description here

enter image description here

,我已经在didFinishLaunchingWithOptions

NSString *string = nil; 
    [string release]; 
    string = @"abc"; 

,但下面的代码,也没有产生错误。 NSZombie也没有通知。我应该做更多的设置。请帮助我,因为我已经导入了一个lib,并且发生了代码为13的EXC_BAD_ACCESS,并且我无法找到错误原因。

堆栈和控制台看起来像这样 enter image description here

你的设置是正确的,但你的代码不会产生任何僵尸。僵尸是一个已经被释放但被重新使用的物体。像这样将创建一个僵尸:

NSString* string = [NSString stringWithString:@"abc"]; 
[string release]; 
[string length]; 

在这个例子中,字符串被释放,然后尝试通过调用其length方法来使用它。

对于您的库,堆栈在给您EXC_BAD_ACCESS时的样子是什么?

+0

感谢您解释这个概念。我试图生成一个僵尸,就像你建议的那样,但是日志中仍然没有错误/消息。代码直接进入下一步,没有任何警告/错误/消息。至于图书馆,我已经在EDIT中添加了详细信息。 – Vinayaka