我在理解以下代码时有点困难。
#define ENABLE_MEMORY_DEBUG 0
#if ENABLE_MEMORY_DEBUG
#if TARGET_IPHONE_SIMULATOR
extern BOOL NSDebugEnabled;
extern BOOL NSZombieEnabled;
extern BOOL NSHangOnUncaughtException;
extern BOOL NSDeallocateZombies;
#endif
#endif
int main(int argc, char *argv[])
{
#if ENABLE_MEMORY_DEBUG
#if TARGET_IPHONE_SIMULATOR
NSDebugEnabled = YES;
NSZombieEnabled = YES;
NSHangOnUncaughtException = YES;
NSDeallocateZombies = NO;
#endif
#endif
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil,nil);
[pool release];
return retVal;
}
这是一种以编程方式启用 NSZombie 的方法吗?这些是任何预定义的 BOOL 变量 - NSDebugEnabled、NSZombieEnabled、NSHangOnUncaughtException、NSDeallocateZombies?我从来没有像这样启用过 NSZombie。我曾经从 Edit Scheme->Environmental variables 启用 NSZombie,然后添加值为 TRUE 的 NSZombiewEnables 变量。
有任何想法吗,
谢谢,问候, Tek3