FROM : Sean McBride
DATE : Tue Jul 11 23:15:05 2006
On 2006-07-12 07:07, Chris Suter 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.
>
>Just thought I'd point out that I think the numbers you used don't
>look quite right. The tech. note doesn't define what 5 would do; the
>table in the note uses bit numbers. From my understanding of the
>note, you'll get a crash for most settings of CFZombieLevel except
>for 8 (never free memory used to hold CF objects) and under certain
>circumstances 2 (when scribbling deallocated CF memory, don't
>scirbble object header (CFRuntimeBase)). I guess you'll get similar
>results to NSZombieEnabled by setting CFZombieLevel to 9 (although
>obviously you'll get a crash rather than an exception thrown, but
>that's just as good).
Ah, you're right! I think Scott's values were just no good.
Without CFZombieLevel, both these print twice:
NSString* str = [[NSString alloc] initWithFormat:@"hello"];
NSLog (@"%@", str);
[str release];
NSLog (@"%@", str);
CFStringRef str = CFStringCreateWithFormat(0,0,CFSTR("hello"));
CFShow(str);
CFRelease(str);
CFShow(str);
With CFZombieLevel=65553 both crash on the 2nd print attempt.
So all is well.
--
____________________________________________________________
Sean McBride, B. Eng <email_removed>
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
DATE : Tue Jul 11 23:15:05 2006
On 2006-07-12 07:07, Chris Suter 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.
>
>Just thought I'd point out that I think the numbers you used don't
>look quite right. The tech. note doesn't define what 5 would do; the
>table in the note uses bit numbers. From my understanding of the
>note, you'll get a crash for most settings of CFZombieLevel except
>for 8 (never free memory used to hold CF objects) and under certain
>circumstances 2 (when scribbling deallocated CF memory, don't
>scirbble object header (CFRuntimeBase)). I guess you'll get similar
>results to NSZombieEnabled by setting CFZombieLevel to 9 (although
>obviously you'll get a crash rather than an exception thrown, but
>that's just as good).
Ah, you're right! I think Scott's values were just no good.
Without CFZombieLevel, both these print twice:
NSString* str = [[NSString alloc] initWithFormat:@"hello"];
NSLog (@"%@", str);
[str release];
NSLog (@"%@", str);
CFStringRef str = CFStringCreateWithFormat(0,0,CFSTR("hello"));
CFShow(str);
CFRelease(str);
CFShow(str);
With CFZombieLevel=65553 both crash on the 2nd print attempt.
So all is well.
--
____________________________________________________________
Sean McBride, B. Eng <email_removed>
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
| Related mails | Author | Date |
|---|---|---|
| Scott Ellsworth | Jul 11, 21:55 | |
| Nick Zitzmann | Jul 11, 22:17 | |
| Scott Ellsworth | Jul 11, 22:23 | |
| Chris Suter | Jul 11, 23:07 | |
| Sean McBride | Jul 11, 23:09 | |
| Sean McBride | Jul 11, 23:15 | |
| Scott Ellsworth | Jul 12, 00:00 |






Cocoa mail archive

