我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。

有人知道如何在Xcode 4中启用NSZombie吗?


当前回答

Product > Profile将弹出Instruments。从面板中选择僵尸,然后发疯。

其他回答

产品>配置文件将启动仪器,然后你应该有一个名为“僵尸”的“跟踪模板”。但是,此跟踪模板仅在当前构建目标是模拟器时可用——如果将目标设置为iOS设备,则不可用。

另一件需要注意的事情是,在乐器库中没有真正的僵尸乐器。僵尸跟踪模板实际上由分配工具和“启用NSZombie检测”启动配置集组成。

要启用僵尸日志,双击Xcode项目可执行文件组中的可执行文件。此时,单击Arguments选项卡,在Variables to be set in the environment: section中,创建一个名为NSZombieEnabled的变量,并将其值设置为YES。

我在排除EXC_BAD_ACCESS故障时遇到了同样的问题,并且很难找到Xcode 4.2 (iOS5 SDK的最新版本)的设置。苹果一直在移动东西,设置也不再是以前的样子了。

幸运的是,我找到了它,它适用于设备,而不仅仅是模拟器。你需要在Xcode中打开Product菜单,选择Edit scheme,然后选择Diagnostics选项卡。这里有“启用僵尸对象”。一旦选择和运行调试器将指向你的双释放对象!享受吧!

简而言之

Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects

在xcode 4.2中

去,产品->编辑方案->单击运行你的appname。app -> diagostics ->启用僵尸对象。

进入产品-方案-编辑方案-参数-环境变量设置NSZombieEnabled = YES