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:
Press Command-I in Xcode, select Allocations from the list and press Choose. After a moment, you'll see the Allocations instrument. It should look familiar because it looks a lot like Time Profiler. Click the record button in the top-left corner to run the app.
Once an Objective-C or Swift object no longer has any strong references to it, the object is deallocated. Attempting to further send messages to the object as if it were still a valid object is a “use after free” issue, with the deallocated object still receiving messages called a zombie object.
In simplest of terms, Time Profiler collects information about your app while it's running, determines how long each of your functions takes to run, and also figures out the percentage of CPU cycles each of your functions is using.
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:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With