Re: Debugging: do CFZombieLevel and objc_exception_throw() work for you?
Re: Debugging: do CFZombieLevel and objc_exception_throw() work for you?
- Subject: Re: Debugging: do CFZombieLevel and objc_exception_throw() work for you?
- From: "Sean McBride" <email@hidden>
- Date: Tue, 11 Jul 2006 17:09:04 -0400
- Organization: Rogue Research
On 2006-07-11 13:23, Scott Ellsworth said:
>>> I tried the same thing with an NSString, and with CFZombieLevel
>>> (1, 19, 5, and a few other values based on the tech note), and all
>>> I got were bad access exceptions.
>>>
>>> NSString * string = [[NSString alloc] initWithFormat:@"String %
>>> d", 12];
>>> [string release];
>>> [string length];
>>>
>>> Should I have expected this?
>>
>> Yes. Class cluster objects toll-free bridged to CoreFoundation
>> structures are never zombified; even with NSZombieEnabled set they
>> will always be released.
>
>Huh - I had misunderstood <http://developer.apple.com/technotes/
>tn2004/tn2124.html>, then. It implied to me that CFZombieLevel would
>have caught misbehaviors in CF objects, even if they were toll free
>bridged. Of course, it contains little enough text that I was
>reading a bit more into it than strictly implied.
I have confirmed that CFZombieLevel at least works as expected with
CFStrings. Consider:
CFStringRef str = CFStringCreateWithFormat(0,0,CFSTR("hello"));
CFShow(str);
CFRelease(str);
CFShow(str);
This prints "hello" twice for me, but crashes with CFZombieLevel=65553.
So many types are toll-free bridged, it sucks that neither NS or CF
zombie works with them. :(
--
____________________________________________________________
Sean McBride, B. Eng email@hidden
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden