Freigeben über


IDebugControl::Evaluate-Methode (dbgeng.h)

Die Evaluate-Methode wertet einen Ausdruck aus und gibt das Ergebnis zurück.

Syntax

HRESULT Evaluate(
  [in]            PCSTR        Expression,
  [in]            ULONG        DesiredType,
  [out]           PDEBUG_VALUE Value,
  [out, optional] PULONG       RemainderIndex
);

Parameter

[in] Expression

Gibt den auszuwertenden Ausdruck an.

[in] DesiredType

Gibt den gewünschten Rückgabetyp an. Mögliche Werte werden in DEBUG_VALUE beschrieben. mit dem Hinzufügen von DEBUG_VALUE_INVALID, was angibt, dass der Rückgabetyp der natürliche Typ des Ausdrucks sein sollte.

[out] Value

Empfängt den Wert des Ausdrucks.

[out, optional] RemainderIndex

Empfängt den Index des ersten Zeichens des Ausdrucks, der nicht in der Auswertung verwendet wird. Wenn RemainderIndexNULL ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Diese Methode gibt möglicherweise auch andere Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
E_FAIL
Fehler beim Auswerten des Ausdrucks. Es gab z. B. einen Syntaxfehler, eine undefinierte Variable oder eine Division durch null-Ausnahme.

Hinweise

Ausdrücke werden vom aktuellen Ausdrucksauswerter ausgewertet. Die Engine enthält mehrere Ausdrucksauswerter. jede unterstützt eine andere Syntax. Die aktuelle Ausdrucksauswertung kann mithilfe von SetExpressionSyntax ausgewählt werden.

Ausführliche Informationen zu den verfügbaren Ausdrucksauswertern und deren Syntax finden Sie unter Syntax für numerische Ausdrücke.

Wenn beim Auswerten des Ausdrucks ein Fehler auftritt und E_FAIL zurückgegeben wird, kann die Variable RemainderIndex verwendet werden, um ungefähr zu bestimmen, wo der Fehler im Ausdruck aufgetreten ist.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (dbgeng.h einschließen)

Weitere Informationen

GetExpressionSyntax

IDebugControl

IDebugControl2

IDebugControl3

SetExpressionSyntax

SetExpressionSyntaxByName