Freigeben über


Pseudovariablen

Pseudovariablen sind Begriffe, mit denen bestimmte Informationen in einem Variablenfenster oder im Dialogfeld Schnellüberwachung angezeigt werden. Eine Pseudovariable können Sie genauso wie eine normale Variable eingeben. Pseudovariablen sind jedoch keine Variablen und es gibt keine entsprechenden Variablennamen im Programm.

Beispiel

Angenommen, Sie schreiben eine Anwendung in systemeigenem Code, und Sie möchten die Anzahl zugeordneter Handles der Anwendung anzeigen. Im Fenster Überwachen können Sie in der Spalte Name die folgende Pseudovariable eingeben und zur Auswertung anschließend die EINGABETASTE drücken:

$handles

Bei systemeigenem Code können Sie die in dieser Tabelle aufgeführten Pseudovariablen verwenden:

Pseudovariable

Funktion

$err

Es wird der letzten Fehlerwert angezeigt, der mit der Funktion "SetLastError" festgelegt wird. Der angezeigte Wert stellt das Ergebnis der Rückgabe der Funktion "GetLastError" dar.

Verwenden Sie $err,hr, um die dekodierte Form dieses Werts anzuzeigen. Wenn der letzte Fehler z. B. 3 wäre, würde $err,hr ERROR_PATH_NOT_FOUND : The system cannot find the path specified. anzeigen.

$handles

Zeigt die Anzahl von Handles an, die der Anwendung zugeordnet sind.

$vframe

Zeigt die Adresse des aktuellen Stapelrahmens an.

$tid

Zeigt die Thread-ID für den aktuellen Thread an.

$env

Zeigt den Umgebungsblock im Zeichenfolgen-Viewer an.

$cmdline

Zeigt die Befehlszeilenzeichenfolge an, mit der das Programm gestartet wurde.

$pid

Zeigt die Prozess-ID an.

$Registername

oder

@Registername

Zeigt den Inhalt des Registers Registername an.

Normalerweise geben Sie zum Anzeigen des Registerinhalts einfach den Registernamen ein. Nur beim Überladen eines Variablennamens durch einen Registernamen müssen Sie diese Syntax verwenden. Wenn der Registername im aktuellen Gültigkeitsbereich dem Variablennamen entspricht, interpretiert der Debugger den Namen als Variablenname. In diesem Fall sind $Registername bzw. @Registername praktisch.

$clk

Zeigt die Zeit in Taktzyklen an.

$user

Zeigt eine Struktur mit Kontoinformationen für das die Anwendung ausführende Konto an. Aus Sicherheitsgründen werden die Kennwortinformationen nicht angezeigt.

$exceptionstack

Zeigt die Stapelüberwachung der aktuellen Windows-Runtime-Ausnahme an. $ exceptionstack funktioniert nur in Store-Apps, die unter Windows 8.1 oder höher ausgeführt werden. $ exceptionstack wird nicht für C++- und SEH-Ausnahmen unterstützt.

$ReturnValue

Zeigt den Rückgabewert einer .NET Framework-Methode an. Siehe Überprüfen von Rückgabewerten der Methodenaufrufe.

Die in dieser Tabelle angezeigten Pseudovariablen können Sie in C# und Visual Basic verwenden:

Pseudovariable

Funktion

$exception

Zeigt Informationen über die letzte Ausnahme an. Wenn keine Ausnahme aufgetreten ist, wird beim Auswerten von $exception eine Fehlermeldung angezeigt.

In Visual C# wird bei deaktiviertem Ausnahmen-Assistenten dem Fenster Lokal bei Auftreten einer Ausnahme automatisch $exception hinzugefügt.

$user

Zeigt eine Struktur mit Kontoinformationen für das die Anwendung ausführende Konto an. Aus Sicherheitsgründen werden die Kennwortinformationen nicht angezeigt.

Die in dieser Tabelle angezeigten Pseudovariablen können Sie in Visual Basic verwenden:

Pseudovariable

Funktion

$delete oder $$delete

Löscht eine implizite Variable, die im Fenster Direkt erstellt wurde. Die Syntax lautet $delete, Variable oder $delete, Variable.

$objectids oder $listobjectids

Zeigt alle aktiven Objekt-IDs als untergeordnete Elemente des angegebenen Ausdrucks an. Die Syntax lautet $objectid, Ausdruck oder $listobjectids, Ausdruck.

$N#

Zeigt das Objekt mit der Objekt-ID N an.

$dynamic

Zeigt den besonderen Knoten Dynamische Ansicht für ein Objekt an, das IDynamicMetaObjectProvider implementiert. Schnittstelle Die Syntax lautet $dynamic, Objekt. Diese Funktion gilt nur für Code, der .NET Framework Version 4 verwendet. Siehe Dynamische Ansicht.

Siehe auch

Aufgaben

Gewusst wie: Überwachen eines Ausdrucks im Debugger

Weitere Ressourcen

Variablenfenster