On 10/01/2010, at 10:26 AM, Jim Correia wrote:

> On Jan 9, 2010, at 6:22 PM, Sean McBride wrote:
> 
>> I've never tried, but NSDebug.h seems to say that there is an
>> NSZombieEnabled global var that you can set.
> 
> Read the warning at the top of the header. While those variables have been 
> there as long as I can remember, as soon as you ship software which relies on 
> them, Murphy will invoke his law.
> 
> (For debug and pre-release builds, go wild. For production builds, take 
> appropriate precautions.)


Thanks Jim & Sean, that seems to be very simple.

I'm getting something odd though. If I set NSZombieEnabled during app delegate 
-applicationDidFinishLaunching: method from my preference, a later deliberate 
over-release still causes a EXC_BAD_ACCESS. If I set it as an environment 
variable (Xcode launch arguments for my app) I get the zombie logged as 
expected. In either case I can see that NSZombieEnabled is YES, but directly 
setting it doesn't appear to work.

Any idea what I'm doing wrong?

Code:

#include <Foundation/NSDebug.h>


- (void)                applicationDidFinishLaunching:(NSNotification*) 
aNotification
{
        NSZombieEnabled |= [[NSUserDefaults standardUserDefaults] 
boolForKey:@"NSZombieEnabled"];

        //[other stuff..]

        if( NSZombieEnabled )
                NSLog(@"NSZombieEnabled is ON");
}


--Graham


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to