Direktfenster
Das Fenster Direkt wird zum Debuggen und Auswerten von Ausdrücken, Ausführen von Anweisungen, Drucken von Variablenwerten usw. verwendet. Er ermöglicht die Eingabe von Ausdrücken, die von der Entwicklungssprache während des Debuggens ausgewertet oder ausgeführt werden sollen. Um das Fenster Direkt anzuzeigen, öffnen Sie ein Projekt zur Bearbeitung und wählen dann im Menü Debuggen zunächst Fenster und dann Direkt aus, oder Sie drücken STRG+ALT+I.
Sie können in diesem Fenster einzelne Visual Studio-Befehle ausgeben. Zu den verfügbaren Befehlen gehört EvaluateStatement. Damit können Variablen Werte zugewiesen werden. Im Fenster Direkt wird außerdem IntelliSense unterstützt.
Anzeigen der Werte von Variablen
Dieses Fenster kann besonders beim Debuggen einer Anwendung von Nutzen sein. Um beispielsweise den Wert der Variablen varA zu überprüfen, können Sie den Befehl "Drucken" verwenden:
>Debug.Print varA
Das Fragezeichen (?) ist ein Alias für Debug.Print, sodass dieser Befehl auch wie folgt eingegeben werden kann:
>? varA
Beide Versionen dieses Befehls geben den Wert der Variablen varA zurück.
Hinweis
Wenn Sie einen Visual Studio-Befehl im Fenster Direkt angeben, müssen Sie dem Befehl ein Größer-als-Zeichen (>) voranstellen.Wenn Sie mehrere Befehle eingeben möchten, wechseln Sie zum Fenster Befehl.
Ausdrucksauswertung zur Entwurfszeit
Sie können das Fenster Direkt verwenden, um eine Funktion oder Unterroutine zur Entwurfszeit auszuführen.
So führen Sie eine Funktion zur Entwurfszeit aus
Kopieren Sie den folgenden Code in eine Visual Basic-Konsolenanwendung:
Module Module1 Sub Main() MyFunction(5) End Sub Function MyFunction(ByVal input as Integer) As Integer Return input * 2 End Function End Module
Wählen Sie im Menü Debuggen die Option Fenster aus, und klicken Sie dann auf Direkt.
Geben ?MyFunction(2) im Fenster Direkt ein, und drücken Sie die EINGABETASTE.
Das Fenster Direkt führt MyFunction aus und zeigt 4 an.
Wenn die Funktion oder die Unterroutine einen Haltepunkt enthält, unterbricht Visual Studio die Ausführung an der entsprechenden Stelle. Sie können dann die Debuggerfenster verwenden, um den Programmzustand zu überprüfen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Debuggen zur Entwurfszeit.
Die Ausdrucksauswertung zur Entwurfszeit ist nicht für Projekttypen verfügbar, die das Starten einer Ausführungsumgebung erfordern, z. B. Visual Studio-Tools für Office-Projekte, Webprojekte, Projekte für intelligente Geräte und SQL-Projekte.
Ausdrucksauswertung zur Entwurfszeit in Projektmappen mit mehreren Projekten
Beim Festlegen des Kontexts für die Ausdrucksauswertung zur Entwurfszeit verweist Visual Studio auf das aktuell ausgewählte Projekt im Projektmappen-Explorer. Wenn im Projektmappen-Explorer kein Projekt ausgewählt ist, versucht Visual Studio, die Funktion anhand des Startprojekts auszuwerten. Wenn die Funktion im aktuellen Kontext nicht ausgewertet werden kann, wird eine Fehlermeldung angezeigt. Wenn Sie versuchen, eine Funktion in einem Projekt auszuwerten, das nicht das Startprojekt für die Projektmappe ist, und eine Fehlermeldung angezeigt wird, wählen Sie das Projekt im Projektmappen-Explorer aus, und wiederholen Sie die Auswertung.
Eingeben von Befehlen
Sie müssen das Größer-als-Zeichen (>) eingeben, wenn Sie Visual Studio-Befehle im Fenster Direkt angeben. Verwenden Sie die NACH-OBEN- und NACH UNTEN-TASTEN, um einen Bildlauf durch bereits ausgegebene Befehle durchzuführen.
Aufgabe |
Lösung |
Beispiel |
---|---|---|
Auswerten eines Ausdrucks. |
Stellen Sie dem Ausdruck ein Fragezeichen (?) voran. |
? a+b |
Vorübergehendes Wechseln vom Direktmodus in den Befehlsmodus (zum Ausführen eines einzelnen Befehls). |
Geben Sie den Befehl ein, und stellen Sie ihm ein Größer-als-Zeichen (>) voran. |
>alias |
Wechseln Sie zum Befehlsfenster. |
Geben Sie im Fenster cmd ein, und stellen Sie dem Befehl ein Größer-als-Zeichen (>) voran. |
>cmd |
Wechseln Sie wieder zum Direktfenster. |
Geben Sie in das Fenster immed ohne das Größer-als-Zeichen (>) ein. |
immed |
Markierungsmodus
Wenn Sie im Fenster Direkt auf eine zuvor ausgegebene Zeile klicken, schalten Sie automatisch in den Markierungsmodus um. Auf diese Weise können Sie den Text vorheriger Befehle wie in einem beliebigen anderen Text-Editor markieren, bearbeiten, kopieren und in die aktuelle Zeile einfügen.
Gleichheitszeichen (=)
Abhängig vom Fenster, das zur Eingabe des EvaluateStatement-Befehls verwendet wird, wird ein Gleichheitszeichen (=) als Vergleichsoperator oder als Zuweisungsoperator interpretiert.
Im Fenster Direkt wird ein Gleichheitszeichen (=) als Zuweisungsoperator interpretiert. Daher wird mit dem Befehl
>Debug.EvaluateStatement(varA=varB)
der Variablen varA der Wert von Variable varB zugewiesen.
Im Fenster Befehl wird ein Gleichheitszeichen (=) hingegen als Vergleichsoperator interpretiert. Sie können keine Zuweisungsvorgänge im Fenster Befehl ausführen. Wenn die Werte der Variablen varA und varB beispielsweise unterschiedlich sind, gibt der Befehl
>Debug.EvaluateStatement(varA=varB)
den Wert False zurück.
Ausnahmebenachrichtigungen (erste Chance)
Bei einigen Einstellungskonfigurationen werden Ausnahmebenachrichtigungen (erste Chance) im Fenster Direkt angezeigt.
So blenden Sie Ausnahmebenachrichtigungen (erste Chance) im Direktfenster ein und aus
Klicken Sie im Menü Ansicht auf Weitere Fenster und dann auf Ausgabe.
Klicken Sie mit der rechten Maustaste auf den Textbereich des Ausgabefensters, und aktivieren bzw. deaktivieren Sie die Option Ausnahmemeldungen.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Debuggen zur Entwurfszeit
Referenz
Verwenden von regulären Ausdrücken in Visual Studio