我想为我的iPhone应用程序启用NSZombies.
我在线阅读了几篇文章,我仍然不确定具体的程序.
我知道我必须设置环境变量,我已经完成了:
NSZombieEnabled = YES NSDebugEnabled = YES NSDeallocateZombies = NO
我想(我不确定),我必须导入NSDebug.h.当我在项目中检查Foundation Framework的标题时,没有NSDebug.h.
经过一些研究,我在iPhoneSimulator Foundation Framework中找到了它们.所以(我不确定这是否正确),我将iPhoneSimualtor Foundation Framework导入到我的项目中.我注意到文件STILL没有显示在项目窗口中,即使我可以在Finder中找到它.(这是正常行为吗?).
所以我打开了主要并添加:
#ifdef TARGET_IPHONE_SIMULATOR #import#endif
我不确定这是否正确.在此之后我仍然无法让NSZombie工作(除非我误解了它应该做什么)我期待看到"NSZombie发送释放......"的日志.但我没有看到任何东西
我敢肯定,我只是没有做到这一点,一步一步的好一步将不胜感激.谢谢
另外值得注意的是,我也启用了:
NSMallocStacklLogging = YES MallocStackLoggingNoCompact = YES
Jane Sales.. 34
您是否正确设置了环境变量?分步指南是
双击Xcode项目的Executables组中的可执行文件.
单击"参数"选项卡.
在"要在环境中设置的变量:"部分中,创建一个名为"NSZombieEnabled"的变量,并将其值设置为"YES".
您不需要#import NSDebug.h
您是否正确设置了环境变量?分步指南是
双击Xcode项目的Executables组中的可执行文件.
单击"参数"选项卡.
在"要在环境中设置的变量:"部分中,创建一个名为"NSZombieEnabled"的变量,并将其值设置为"YES".
您不需要#import NSDebug.h
您不必包含NSDebug.h或导入任何特殊框架以使用NSZombies.基本上,在您的环境变量中打开它们,然后,如果您尝试向dealloc'd对象发送消息,那么您将在控制台中看到一些内容,其中包括:
2009-02-10 21:17:08.546 MyApp[16926:20b] *** -[CFString _cfTypeID]: message sent to deallocated instance 0x4babc0