Sunday, October 11, 2009

iPhone dev Stupidity 35: NSZombie and Instruments Leak

If you enabled NSZombie  :



"NSZombieEnabled is an environment variable which controls whether the Foundation runtime will use zombies. When zombies are enabled, a deallocated object's class is dynamically changed to be _NSZombie, and by default, the memory region is never marked as free, although this can be controlled separately."

When instruments sees these Zombie objects, it takes them as leaks:


So, better turn off the NSZombieEnabled option when instruments.

For more info about NSZombie, check XCode 3 Unleashed P388 (Chap 22. More about Debugging).




No comments: