Freigeben über


IDebugProperty2

Diese Schnittstelle stellt eine Stapelframeeigenschaft, eine Programmdokumenteigenschaft oder eine andere Eigenschaft dar. Die Eigenschaft ist in der Regel das Ergebnis einer Ausdrucksauswertung.

Hinweis

Diese Verwendung von "Property" sollte nicht mit der Bedeutung einer Membervariable einer Klasse verwechselt werden, obwohl eine IDebugProperty2 solche Entität darstellen kann.

Syntax

IDebugProperty2 : IUnknown

Hinweise für Implementierer

Die DE implementiert diese Schnittstelle, um eine bestimmte Art von Wert darzustellen. Beispielsweise könnte der Wert ein numerischer Wert als Ergebnis einer Ausdrucksauswertung, eines Speicherkontexts sein, der zum Anzeigen des Arbeitsspeichers verwendet wird, oder eine Liste der Register und deren Werte.

Hinweise für Aufrufer

Rufen Sie EvaluateSync oder EvaluateAsync auf, um diese Schnittstelle abzurufen, die das Ergebnis einer Auswertung darstellt. IDebugExpression2::EvaluateAsyncgibt diese Schnittstelle zurück, indem eine IDebugExpressionEvaluationCompleteEvent2-Schnittstelle an das SDM gesendet wird, die wiederum GetResult aufruft, um die Eigenschaft abzurufen.

  • GetDebugProperty gibt diese Schnittstelle zurück, um das zugeordnete Skriptdokument bereitzustellen.

  • GetReturnValue gibt diese Schnittstelle zurück, um den Rückgabewert einer Funktion darzustellen.

  • GetDebugProperty gibt diese Schnittstelle zurück, um verschiedene Eigenschaften des Programms darzustellen, z. B. einen Namen oder einen Speicherkontext.

  • GetDebugProperty gibt diese Schnittstelle zurück, um verschiedene Eigenschaften des Stapelframes wie lokale Variablen darzustellen.

Methoden in Vtable-Reihenfolge

In der folgenden Tabelle sind die Methoden von IDebugProperty2 aufgeführt.

Methode Beschreibung
GetPropertyInfo Füllt eine DEBUG_PROPERTY_INFO Struktur ein, die eine Eigenschaft beschreibt.
SetValueAsString Legt den Wert einer Eigenschaft aus einer Zeichenfolge fest.
SetValueAsReference Legt den Wert der Eigenschaft aus dem Wert eines bestimmten Verweises fest.
EnumChildren Listet die untergeordneten Elemente einer Eigenschaft auf.
GetParent Gibt das übergeordnete Element einer Eigenschaft zurück.
GetDerivedMostProperty Gibt die Eigenschaft zurück, die die am häufigsten abgeleitete Eigenschaft einer Eigenschaft beschreibt.
GetMemoryBytes Gibt die Speicherbytes zurück, die den Wert einer Eigenschaft erstellen.
GetMemoryContext Gibt den Speicherkontext für einen Eigenschaftswert zurück.
GetSize Gibt die Größe des Eigenschaftswerts in Bytes zurück.
GetReference Gibt einen Verweis auf den Wert dieser Eigenschaft zurück.
GetExtendedInfo Gibt die erweiterten Informationen einer Eigenschaft zurück.

Hinweise

Eine Eigenschaft, wie durch eine IDebugProperty2 Schnittstelle dargestellt, kann als Wert mit einem Namen, einem Typ und einer Adresse betrachtet werden. Allgemeiner ausgedrückt kann ein IDebugProperty2 Element, das über eine hierarchische Struktur verfügt, mit übergeordneten und untergeordneten Knoten darstellen.

Eine Eigenschaft ist in der Regel transitor, die nur so lange dauert, wie z. B. der aktuelle Stapelrahmen. Andererseits dauert ein Verweis, wie durch eine IDebugReference2-Schnittstelle dargestellt, solange der Wert wieder Standard im Arbeitsspeicher ist.

Die IDE kann die IDebugProperty2 Benutzeroberfläche verwenden, um Benutzern das Durchsuchen und Ändern von Eigenschaften zur Laufzeit zu ermöglichen.

Anforderungen

Header: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Siehe auch