29

我正在 Snow Leopard 上运行 XCode 3.2,我正在尝试针对我的应用程序运行 Zombies 工具,但选择显示为灰色,我不知道为什么。我知道 NSZombieEnabled 环境变量。我在我的应用程序中将其设置为 YES。我不确定这是否重要,但是,该应用程序是我开始使用先前版本的 XCode 在 Leopard 上开发的应用程序。这是我的菜单的截图:

截屏

4

3 回答 3

29

您需要从 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 中的菜单是灰色的。
于 2010-06-22T08:24:41.647 回答
7

您确定将其设置在正确的位置吗?我的意思是,它是可调整的运行时,而不是编译时。请确保您将其设置在正确的位置,然后重试。

转到 Project -> Edit Active Executable
Click Arguments
单击“要在环境中设置的变量”部分中的 + 在
Name 列中输入 NSZombieEnabled,在 Value 列中输入 YES。
确保选中 NSZombieEnabled 条目的复选标记

于 2009-09-15T01:30:00.270 回答
2

正如 Apple 工程师所说,Run with Performance Tool 下的大多数项目都需要 dTrace 支持,但 dTrace 尚不适用于 iOS,甚至不适用于模拟器。

然而,奇怪的是,您可以在 Instruments 中手动设置一个模板来测试僵尸,如@florin 所述

于 2010-11-08T19:44:46.633 回答