Direktfenster
Das Direktfenster wird zur Entwurfszeit 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 Direktfenster anzuzeigen, öffnen Sie ein Projekt zur Bearbeitung und wählen dann im Menü Debuggen zunächst Fenster und dann Direkt.
Sie können dieses Fenster verwenden, um einzelne Visual Studio-Befehle anzugeben. Zu den verfügbaren Befehlen gehört EvaluateStatement, der zum Zuweisen von Werten zu Variablen verwendet werden kann. Das Direktfenster unterstützt auch IntelliSense.
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.
Tipp
Um einen Visual Studio-Befehl im Direktfenster anzugeben, müssen Sie dem Befehl ein Größer-als-Zeichen (>) voranstellen. Wenn Sie mehrere Befehle eingeben möchten, wechseln Sie zum Befehlsfenster.
Ausdrucksauswertung zur Entwurfszeit
Sie können das Direktfenster 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 Direktfenster ein, und drücken Sie die EINGABETASTE.
Das Direktfenster 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 und Unterbrechen der Funktionsauswertung im Visual Studio-Debugger.
Die Ausdrucksauswertung zur Entwurfszeit ist nicht für Projekttypen verfügbar, die das Starten einer Ausführungsumgebung erfordern, z. B. Visual Studio Tools for 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 Direktfenster 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 zum Befehlsfenster. |
Geben Sie im Fenster cmd ein, und stellen Sie dem Befehl ein Größer-als-Zeichen (>) voran. |
>cmd |
Zurückwechseln zum Direktfenster. |
Geben Sie in dem Fenster immed ohne das Größer-als-Zeichen (>) ein. |
immed |
Markierungsmodus
Wenn Sie im Direktfenster 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 Direktfenster wird ein Gleichheitszeichen (=) als Zuweisungsoperator interpretiert. Daher kann der Befehl
>Debug.EvaluateStatement(varA=varB)
der Variablen varA z. B. der Wert von Variable varB zugewiesen.
Im Befehlsfenster wird ein Gleichheitszeichen (=) hingegen als Vergleichsoperator interpretiert. Sie können keine Zuweisungsvorgänge im Befehlsfenster 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 Direktfenster 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
Vordefinierte Visual Studio-Befehlsaliase
Reguläre Ausdrücke (Visual Studio)
Konzepte
Unterbrechen der Funktionsauswertung im Visual Studio-Debugger