2 Stimmen

Festlegen einer Haltepunktbedingung für den Selbstzeiger in Mac OS X

Ich versuche, herauszufinden, wann [NSView setNeedsDisplay] für ein bestimmtes Objekt aufgerufen wird. Ich möchte einen Haltepunkt setzen, der nur dann ausgelöst wird, wenn der self-Zeiger auf das Objekt verweist, für das ich mich interessiere. Die Methode wird wahrscheinlich Hunderte Male um die Zeit, die es für mein Objekt aufgerufen wird, so etwas wie eine Haltepunktbedingung ist notwendig.

Soweit ich sehen kann, befindet sich der "self"-Zeiger am Eintrittspunkt einer Funktion nicht konsistent in einem bestimmten Register. Kann dies getan werden?

1voto

Nikolai Ruhe Punkte 80427

Dies hängt von der Architektur ab. Der Empfänger (self) ist das erste Argument der Funktion objc_msgSend (und wird ohne Änderung an die Methode übergeben). Auf x86_64 ist das in $rdi , auf i386 in *(id*)($ebp + 8) .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X