【发布时间】:2011-12-02 09:24:45
【问题描述】:
我正在测试我的代码,我意识到我正在释放一个自动释放的对象,但应用程序没有崩溃。 所以我用几行代码从头开始创建了一个新的空项目:
NSArray *array = [NSArray array];
[array release];
[array release];
[array release];
[array release];
...
这不会永远崩溃,也不会在 GDB 中被标记为僵尸对象。如果我用 Product 分析代码 -> 分析它不会发现任何错误。
我认为通常它应该崩溃...... 我正在使用 Apple LLVM 编译器 3.0 在 Xcode 4.2 上进行测试,但旧的 gcc 4.2 也是如此。
知道为什么会这样吗?
谢谢
【问题讨论】:
-
我认为您运行的构建设置与我不同。您使用的是什么编译器和 Xcode 版本?
标签: objective-c crash autorelease