Freigeben über


Schlüsselausdrucksauswerter-Schnittstellen

Wenn ein Ausdrucksauswertung (EE) zusammen mit dem Auswertungs Elementkontext zu schreiben, sollten Sie die folgenden Schnittstellen vertraut sein.

Schnittstellen-Beschreibungen

  • IDebugAddress 

    Verfügt über eine einzelne Methode, IDebugAddress::GetAddress, die eine Datenstruktur, die den aktuellen Zeitpunkt der Ausführung darstellt. Diese Datenstruktur ist eines der drei Argumente, mit denen das Debugmodul (DE) IDebugParsedExpression::EvaluateSync die Methode übergeben wird, um einen Ausdruck auszuwerten. Diese Schnittstelle wird in der Regel vom Anbieter implementiert Symbol.

  • IDebugBinder 

    Hat die IDebugBinder::Bindung-Methode, die den Speicherbereich ab, der den aktuellen Wert eines Symbols enthält. Bei sowohl die enthaltende Methode, dargestellt durch ein IDebugObject-Objekt und das Symbol selbst, dargestellt durch ein IDebugField-Objekt, IDebugBinder::Bind den Wert des Symbols zurück. IDebugBinder wird in der Regel durch DE implementiert.

  • IDebugField 

    Stellt einen einfachen Datentyp dar. Für komplexere Typen und Methoden, z. B. Arrays mithilfe der abgeleiteten IDebugArrayField und IDebugMethodField-Schnittstellen. IDebugContainerField ist eine andere wichtige abgeleitete Schnittstelle, die die Symbole darstellen, die andere Symbole enthalten, wie Methoden oder Klassen. Die IDebugField-Schnittstelle (und ihre Ableitungen) wird in der Regel vom Anbieter implementiert Symbol.

    Ein IDebugField-Objekt kann verwendet werden, um den Namen zu suchen und Typ eines Symbols und zusammen mit einem IDebugBinder-Objekt kann verwendet werden, um den Wert zu suchen.

  • IDebugObject 

    Stellt die tatsächlichen Bits des Laufzeitwerts eines Symbols dar. IDebugBinder::Bindung übernimmt ein IDebugField-Objekt, das ein Symbol darstellt, und gibt ein IDebugObject-Objekt zurück. Die IDebugObject::GetValue-Methode gibt den Wert des Symbols in einem Speicherpuffer zurück. DE normalerweise implementiert diese Schnittstelle, um den Wert einer Eigenschaft im Speicher darzustellen.

  • IDebugExpressionEvaluator

    Diese Schnittstelle stellt die Ausdrucksauswertung selbst dar. Die wichtigste Methode ist IDebugExpressionEvaluator::Analyse, die eine IDebugParsedExpression-Schnittstelle zurückgibt.

  • IDebugParsedExpression

    Diese Schnittstelle stellt einen analysierten Ausdruck dar, der ausgewertet werden kann. Die wichtigste Methode ist IDebugParsedExpression::EvaluateSync , die ein IDebugProperty2 zurück, das den Wert und Typ des Ausdrucks darstellt.

  • IDebugProperty2

    Diese Schnittstelle stellt einen Wert dar und ist dessen Typ und das Ergebnis der Ausdrucksauswertung.

Siehe auch

Konzepte

Auswertungs-Kontext