在Mac OS X中为自指针设置断点条件

时间:2010-10-30 15:11:15

标签: objective-c debugging macos gdb breakpoints

我正在试图找出为特定对象调用[NSView setNeedsDisplay]的时间。我想在它上面设置一个断点,只有当自我指针指向我关心的对象时才会触发。在为对象调用时,该方法可能会被调用数百次,因此需要像断点条件那样。

据我所知,“自”指针在函数入口点的任何特定寄存器中都不一致。可以这样做吗?

1 个答案:

答案 0 :(得分:1)

这取决于架构。接收器(self)是objc_msgSend函数的第一个参数(并且无需修改即可传递给方法)。在$rdi上的x86_64上,*(id*)($ebp + 8)中的i386上。