Direktfenster

Aktualisiert: November 2007

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.

Hinweis:

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

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

  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

Konzepte

Unterbrechen der Funktionsauswertung im Visual Studio-Debugger

Referenz

Befehlsfenster

Vordefinierte Visual Studio-Befehlsaliase

Reguläre Ausdrücke (Visual Studio)

Weitere Ressourcen

Debuggen in Visual Studio

Debuggerwegweiser