Freigeben über


IDiaFrameData::get_program

Ruft das Programm Zeichenfolge ab, die verwendet wird, um den Registern Gruppe vor dem Aufruf der aktuellen Funktion abzuleiten.

HRESULT get_program ( 
   BSTR* pRetVal
);

Parameter

  • pRetVal
    [out] Gibt das Programm Zeichenfolge zurück.

Rückgabewert

Bei Erfolg gibt S_OKzurück.Gibt S_FALSE zurück, wenn diese Eigenschaft nicht unterstützt wird.Andernfalls gibt einen Fehlercode zurück.

Hinweise

Die Zeichenfolge des Programms ist eine Sequenz von Makros, die interpretiert wird, um das Präfix zu erstellen.Zum Beispiel könnte ein typischer Stapelrahmen das Programm "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + ="Zeichenfolge.Das Format lautet klammerfreie Rückschreibweise, in der die Operatoren den Operanden entsprechen.T0 stellt eine temporäre Variable im Stapel dar.Dieses Beispiel führt die folgenden Schritte aus:

  1. Inhalt des Registers ebp zu verschieben T0.

  2. Fügen Sie 4 dem Wert in T0 hinzu, um eine Adresse zu erstellen, rufen Sie den Wert von dieser Adresse ab, und speichern Sie den Wert im eipregistrieren.

  3. Rufen Sie den Wert aus der Adresse ab, die in T0 gespeichert wird und speichern Sie diesen Wert im Register ebp.

  4. Fügen Sie 8 dem Wert in T0 hinzufügen, und speichern Sie diesen Wert im Register esp.

Beachten Sie, dass die Zeichenfolge für den CPU- und dem Programm setup Aufrufkonvention der Funktion bestimmt ist, die durch den aktuellen Stapelrahmen dargestellt wird.

Siehe auch

Referenz

IDiaFrameData