我正在 Snow Leopard 上运行 XCode 3.2,我正在尝试针对我的应用程序运行 Zombies 工具,但选择显示为灰色,我不知道为什么。我知道 NSZombieEnabled 环境变量。我在我的应用程序中将其设置为 YES。我不确定这是否重要,但是,该应用程序是我开始使用先前版本的 XCode 在 Leopard 上开发的应用程序。这是我的菜单的截图:
3 回答
您需要从 XCode 外部使用 Zombies 仪器启动 Instruments 应用程序
您可以这样做:
Instruments 应用程序通常位于 内部/Developer/Applications/
,但您也可以使用 Spotlight 找到它。
当 Instruments 启动时,您应该看到一个屏幕,要求您为新的 Trace Document 选择一个模板。
选择:iPhone Simulator > Memory > Zombies
接下来,您需要选择一个目标。
去:Chose target > Chose target > Chose target...
现在您需要选择应用程序文件:
<Path to your iPhone project>/build/Debug-iphonesimulator/<Application name>
然后按Chose
。
现在你们都准备好了。
要启动您的应用程序,请按下Record
按钮。
一些旁注:
- 我在 Mac OS X 10.6.3 上使用了 XCode 3.2.3,但我相信它在以前的版本上也能正常工作。
- Zombies 仪器仅适用于模拟器。
- Zombies 仪器不能与 Leaks 仪器一起使用,因为所有的僵尸都将显示为泄漏。
- 我也想知道为什么 XCode 中的菜单是灰色的。
您确定将其设置在正确的位置吗?我的意思是,它是可调整的运行时,而不是编译时。请确保您将其设置在正确的位置,然后重试。
转到 Project -> Edit Active Executable
Click Arguments
单击“要在环境中设置的变量”部分中的 + 在
Name 列中输入 NSZombieEnabled,在 Value 列中输入 YES。
确保选中 NSZombieEnabled 条目的复选标记。
正如 Apple 工程师所说,Run with Performance Tool 下的大多数项目都需要 dTrace 支持,但 dTrace 尚不适用于 iOS,甚至不适用于模拟器。
然而,奇怪的是,您可以在 Instruments 中手动设置一个模板来测试僵尸,如@florin 所述