Re: Error executing instruction "[NSBezierPath bezierPath]"
Re: Error executing instruction "[NSBezierPath bezierPath]"
- Subject: Re: Error executing instruction "[NSBezierPath bezierPath]"
- From: Vinay Prabhu <email@hidden>
- Date: Tue, 8 Jan 2008 12:44:47 +0530
Thanks for the response.
I set up the NSZombie enviornment variable.
But the crash appears when I run the application in Deployment mode.
When I run the application in Debug mode, crash will not appear !!!!!
I have added retain to all instances of [NSBezierPath bezierPath]
initializer.
-Vinay
On Jan 7, 2008, at 9:17 PM, James Bucanek wrote:
Vinay Prabhu <mailto:email@hidden> wrote (Monday,
January 7, 2008 11:11 PM +0530):
In my application, I am constructing the NSBezierPath based on the
mouse click points on the NSImageView. I am using the method
"[NSBezierPath bezierPath]", for creating the NSBezierPath.
But, while running application, I am getting the console message
saying, "+[NSBezierPath bezierPath] unrecognized selector sent to
class 0xa0315180". and "-[NSBezierPath _deviceMoveToPoint]
unrecognized selector sent to class 0xa0315180".
Any help would be greatly appreciated in understanding these
messages.
Any specific reasons, why application throwing console logs for
"[NSBezierPath bezierPath]". Which is the designated initializer for
NSBezierPath object.
You probably have an over-release issue. My guess is that you're not
retaining the NSBezierPath returned by the convenience constructor
and it's getting released. Eventually that memory location gets
replaced with another object and the stale pointer to the (now
replaced) NSBezierPath objects sends the new object a message. The
new object doesn't accept that message and this is the result.
First, I'd review your code to make sure that NSBizerPath is being
retained for the lifetime of the reference to it. An open manhole
that I'm always walking into is in subclasses of NSCell. NSCells get
copied (a lot!). If you subclass it -- and the subclass has object
references -- you *must* implement the necessary copy methods or the
copies will contain under-retained object references.
If you can't find your problem with a casual review, check out
NSZombies (famous tech note #2124 <http://developer.apple.com/technotes/tn2004/tn2124.html
>). That will at least confirm the problem. To see where it's
actually getting retained and released, run your application using
ObjectAlloc (Tiger) or using the ObjectAlloc instrument in
Instruments (Leopard).
See <http://developer.apple.com/documentation/Performance/Conceptual/ManagingMemory/ManagingMemory.html
> for a general discussion, tips for finding problems, and on using
ObjectAlloc.
--
James Bucanek
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden