我正在尝试检查NSZombieEnabled是否在我的代码中工作。 我有以下设置:
我在didFinishLaunchingWithOptions
NSString *string = nil;
[string release];
string = @"abc";
但是,没有生成错误。 NSZombie也没有任何通知。我应该做些更多的设置吗?请帮助我,因为我已经导入了一个lib,并且有一个EXC_BAD_ACCESS,代码13正在发生,我无法解决错误原因。
堆栈和控制台看起来像这样
答案 0 :(得分:2)
您的设置正确,但您的代码不会创建任何僵尸。僵尸是一个已经被释放但被重复使用的物体。像这样的东西会创造一个僵尸:
NSString* string = [NSString stringWithString:@"abc"];
[string release];
[string length];
在此示例中,字符串已释放,然后您尝试通过调用其length
方法来使用它。
对于您的库,当它为您提供EXC_BAD_ACCESS时,堆栈是什么样的?