如何在仪器Xcode 3.2.5上使用NSZombieEnabled

|| 我在内存管理中遇到了一些问题,然后尝试使用插入工具对其进行修复。 基于电子管上的mark j视频 关于在仪器中使用NSZombieEnabled,我尝试这样做。问题是我从来没有在我的仪器中找到一个复选框来将NSZombieEnabled设置为活动状态。在这种情况下,我使用xcode 3.2.5,但仍在IOS 4.2上。 这是仪器的屏幕截图,其中没有显示已激活NSZombieEnabled的复选框: 难道我做错了什么?? 请帮帮我 谢谢
已邀请:
尝试在模拟器上运行您的应用程序,看看您是否在仪器中获得了该选项。您可以参考本教程以了解如何在XCode 3.2中完成操作,或者可以参考此线程中针对XCode 4的公认答案。
为什么不安装新的xCode 4?在那里,您可以在“调试参数”选项卡下的“方案”中轻松设置EnvironmentVariables。 要检查它是否真的设置,我使用此代码...
if(
       getenv(\"NSZombieEnabled\") || getenv(\"NSAutoreleaseFreedObjectCheckEnabled\")
       ) {
        NSLog(@\"--------------------------------------->NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!\");
    }
如果您要通过执行以下简单步骤来处理XCode版本4,则有一种启用NSZombie的简单方法: 请单击名为产品选择->编辑方案->参数选项卡的方案下拉栏,然后在“环境变量”列中添加NSZombieEnabled,在值列中添加“是” ...现在,启用NSZombie可以在程序中查找错误。 当您运行应用程序时,会收到一条错误消息,其中该应用程序在将NSZombie状态设置为启用时崩溃,但是最初在启用NSZombie之前,您可能会发现很难找出到底出了什么问题,例如自动释放池崩溃,gdb中断当前正在使用Objective-C,BAD_ACCESS错误等...通过启用NSZombie,您可以找到到底是什么问题,例如不正确的重新分配和尝试重新访问或不正确的内存释放等。错误可能是以下几种:
-[ExampleProgramViewController alertView:didDismissWithButtonIndex:]: message sent to deallocated instance 0x7068f70

要回复问题请先登录注册