How to run iPhone program with Zombies instrument?

Justin Kredible picture Justin Kredible · Sep 13, 2009 · Viewed 18.5k times · Source

I'm running XCode 3.2 on Snow Leopard and I'm trying to run the Zombies instrument against my app but the selection is grayed out and I don't know why. I know about the NSZombieEnabled environment variable. I have that set to YES on my application. I'm not sure if this matters, but, the app is an app that I started developing on Leopard with the previous version of XCode. Here is a screenshot of what my menu looks like:

ScreenShot

Answer

Florin picture Florin · Jun 22, 2010

You need to launch the Instruments application with the Zombies instrument from outside of XCode

This is how you can do it:

The Instruments application is usually located inside /Developer/Applications/, but you can also use Spotlight to find it.

When Instruments starts you should be presented with a screen that asks you to choose a template for the new Trace Document.

Select: iPhone Simulator > Memory > Zombies

Next you need to choose a target.

Go to: Chose target > Chose target > Chose target...

Now you need to select the application file:
<Path to your iPhone project>/build/Debug-iphonesimulator/<Application name>
and press Chose.

Now you are all set.

To launch you application press the Record button.

A few Side Notes:

  • I used XCode 3.2.3 on Mac OS X 10.6.3, but I believe it works the same on previous versions.
  • The Zombies instrument only works with the simulator.
  • The Zombies instrument cannot be used with the Leaks instrument because all the zombies would appear as leaks.
  • I would also like to know why the menu in XCode is grayed out.