On Jan 10, 2010, at 8:01 AM, Scott Ribe wrote:

> Also, an isAutoReleased message would be worthless. At any point in time,
> you have no idea how many times library routines that you've called might
> have retained/released/autoreleased, nor should you care.

Actually, it would be nice to have *in a debugging context* since trying to 
track down a pointer that is in the autorelease pool the number of times it has 
been retained when you do a release would be very beneficial.  Yes, it would 
slow things down, but it would sure save a lot of time when trying to track 
down a spurious release!

e.g.

id pObj = [[[ObjectType alloc] init] autorelease];

... do something here that doesn't retain the pObj, maybe return the value to a 
caller...

[pObj release]; // <-- This should assert in a debug context, since it is 
already in the current autorelease pool.

// [pObj autorelease] should also probably assert, since it is now in the 
current autorelease pool twice...


What I ended up doing is progressively creating NSAutoreleasePools, running the 
code from that routine, then draining that pool until I found the culprit.  Oh 
the joys of working on a large project with programmers of varying Cocoa skill 
levels.

-- 
Glenn L. Austin, Computer Wizard and Race Car Driver         <><
<http://www.austin-soft.com>



_______________________________________________

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