If you’re doing iPhone development, setting NSZombieEnabled to YES is critical
to debugging. It allows you to see what deallocated instances received a
message. If this is not enabled, you won’t have any idea why your app crashed.
With it enabled, at least you know you sent a message to a deallocated
instance, say, of an NSArray. But you have to be careful with this, because it
prevents all objects from ever being deallocated! Make sure to turn it off
before releasing your app.
Further reading here.