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

ScreenShot

有帮助吗?

解决方案

您需要从 XCode 外部使用 Zombies 仪器启动 Instruments 应用程序

您可以这样做:

仪器应用程序通常位于 /Developer/Applications/, ,但您也可以使用 Spotlight 来查找它。

当 Instruments 启动时,您应该会看到一个屏幕,要求您为新的跟踪文档选择一个模板。

选择: 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中的菜单是灰色的。

其他提示

您确定要将它放在正确的位置吗?我的意思是,它是一个运行时可调,而不是编译时。请确保您将其设置在正确的位置并再试一次。
点击 转到项目 - <!> gt;编辑Active Executable
单击Arguments
单击<!>中要设置的变量;要在环境中设置变量<!>部分结果 在Name列中输入NSZombieEnabled,在Value列中输入YES 确保确定检查NSZombieEnabled条目的复选标记。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top