Re: Debugging -setNeedsDisplayInRect:
Re: Debugging -setNeedsDisplayInRect:
- Subject: Re: Debugging -setNeedsDisplayInRect:
- From: Kyle Sluder <email@hidden>
- Date: Fri, 27 Jul 2012 10:31:46 -0700
On Fri, Jul 27, 2012, at 08:55 AM, Nick Zitzmann wrote:
> But I need to be able to see **all** invocations of the method from
> **all** NSViews to catch the culprit, because I have a rather complicated
> view hierarchy, including some views for which I don't have the source,
> and I don't know exactly which view is doing this. In order to do that, I
> need to set a conditional breakpoint, and this would be easy if an NSRect
> could be stored in a register, but how do I set a conditional breakpoint
> when the variable I want to investigate is on the stack? And where would
> I find each of the CGFloats on the stack?
The easiest thing to do is what Curt recommended, which lets the
compiler deal with the ABI for you.
But if you really want to learn about how arguments are passed on x86-64
(especially useful if you're already in the debugger or are reading
disassembly), download the AMD64 Application Binary Interface from
<http://www.x86-64.org/documentation.html>. You specifically want to
look at Section 3.2, Function Calling Sequence. That'll tell you
everything you need to know about how the stack frame is set up
(including what registers point to the base and the top of the current
frame), as well as where arguments of different types will end up (in
integer or XMM registers or on the stack).
--Kyle Sluder
_______________________________________________
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