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

  1. 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
    
  2. Wählen Sie im Menü Debuggen die Option Fenster aus, und klicken Sie dann auf Direkt.

  3. 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

  1. Klicken Sie im Menü Ansicht auf Weitere Fenster und dann auf Ausgabe.

  2. 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

Befehlsfenster

Visual Studio-Befehlsaliase

Verwenden von regulären Ausdrücken in Visual Studio

Konzepte

Starten, Unterbrechen, schrittweise Ausführung, Ausführen von Code und Beenden des Debuggens in Visual Studio

Weitere Ressourcen

Debuggen in Visual Studio

Debuggerwegweiser