如何使用Zombies仪器运行iPhone程序?

时间:2009-09-13 13:46:19

标签: iphone objective-c xcode instruments

我正在Snow Leopard上运行XCode 3.2而我正试图对我的应用程序运行Zombies乐器,但选择是灰色的,我不知道为什么。我知道NSZombieEnabled环境变量。我的应用程序设置为YES。我不确定这是否重要,但是,该应用程序是我开始使用之前版本的XCode在Leopard上开发的应用程序。以下是我的菜单的截图:

ScreenShot

3 个答案:

答案 0 :(得分:29)

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

这是你可以做到的:

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

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

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

答案 1 :(得分:7)

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

转到项目 - &gt;编辑活动可执行文件
单击参数
单击“要在环境中设置的变量”部分中的+ 在“名称”列中输入NSZombieEnabled,在“值”列中输入“是” 确保确定检查NSZombieEnabled条目的复选标记。

答案 2 :(得分:2)

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

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