webentwicklung-frage-antwort-db.com.de

Wie verwenden Sie das Direktfenster in Visual Studio?

Das Direktfenster ist ein äußerst nützliches Tool zum Debuggen von Anwendungen. Es kann verwendet werden, um Code-Anweisungen auszuführen, die im Kontext eines Haltepunkts gültig sind, und Werte zu überprüfen. Ich benutze es auch, um Code-Schnipsel einzugeben, um Sprachfunktionen zu lernen.

Wie benutzt man das Sofortfenster?

115
Phillip Ngan

Eine nette Funktion des Direktfensters in Visual Studio ist die Fähigkeit, den Rückgabewert einer Methode auszuwerten, insbesondere, wenn sie von Ihrem Client-Code aufgerufen wird, aber nicht Teil einer variablen Zuordnung. Wie bereits erwähnt, können Sie im Debug-Modus mit Variablen interagieren und Ausdrücke im Speicher ausführen, was eine wichtige Rolle dabei spielt.

Wenn Sie zum Beispiel eine statische Methode hatten, die die Summe von zwei Zahlen zurückgibt, wie zum Beispiel:

private static int GetSum(int a, int b)
{
    return a + b;
}

Dann können Sie im Direktfenster Folgendes eingeben:

? GetSum(2, 4)
6

Wie Sie sehen können, funktioniert dies für statische Methoden sehr gut. Wenn die Methode jedoch nicht statisch ist, müssen Sie mit einer Referenz auf das Objekt interagieren, zu dem die Methode gehört.

Angenommen, Ihre Klasse sieht folgendermaßen aus:

private class Foo
{
    public string GetMessage()
    {
        return "hello";
    }
}

Wenn das Objekt bereits im Speicher vorhanden ist und sich im Gültigkeitsbereich befindet, können Sie es im Direktfenster aufrufen, solange es vor Ihrem aktuellen Haltepunkt instanziiert wurde (oder zumindest davor, wo der Code im Debug-Modus angehalten wird):

? foo.GetMessage(); // object ‘foo’ already exists
"hello"

Wenn Sie die Methode direkt interagieren und testen möchten, ohne auf eine vorhandene Instanz im Arbeitsspeicher angewiesen zu sein, können Sie außerdem Ihre eigene Instanz im Direktverzeichnis instanziieren Fenster:

? Foo foo = new Foo(); // new instance of ‘Foo’
{temp.Program.Foo}
? foo.GetMessage()
"hello"

Sie können noch einen Schritt weiter gehen und die Ergebnisse der Methode vorübergehend Variablen zuweisen, wenn Sie weitere Auswertungen, Berechnungen usw. durchführen möchten:

? string msg = foo.GetMessage();
"hello"
? msg + " there!"
"hello there!"

Wenn Sie nicht einmal einen Variablennamen für ein neues Objekt deklarieren und nur eine seiner Methoden/Funktionen ausführen möchten, gehen Sie folgendermaßen vor:

? new Foo().GetMessage()
"hello" 

Um den Wert einer Methode zu ermitteln, wählen Sie häufig den Methodennamen einer Klasse aus und führen Sie ein "Add Watch" aus, damit der aktuelle Wert im Überwachungsfenster angezeigt wird. Das Objekt muss jedoch erneut instanziiert werden und sich im Gültigkeitsbereich befinden, damit ein gültiger Wert angezeigt wird. Dies ist viel weniger leistungsfähig und restriktiver als die Verwendung des Direktfensters.

Neben den Inspektionsmethoden können Sie auch einfache mathematische Gleichungen erstellen:

? 5 * 6
30

oder vergleiche Werte:

? 5==6
false
? 6==6
true

Das Fragezeichen ('?') Ist nicht erforderlich, wenn Sie sich direkt im Direktfenster befinden. Es wird jedoch der Übersichtlichkeit halber hier eingefügt (um zwischen den eingegebenen Ausdrücken und den Ergebnissen zu unterscheiden). Sie befinden sich jedoch im Befehlsfenster und benötigen Um ein paar schnelle Dinge im Direktfenster zu erledigen, gehen Sie Ihren Anweisungen mit '?' und los geht's.

Intellisense funktioniert im Direktfenster , kann aber manchmal etwas inkonsistent sein. Meiner Erfahrung nach scheint es nur im Debug-Modus verfügbar zu sein, nicht jedoch im Design- und Nicht-Debug-Modus.

Leider ist ein weiterer Nachteil des Direktfensters, dass es keine Schleifen unterstützt.

126
Ray Vega

Verwenden Sie das Direktfenster, um Befehle auszuführen

Das Direktfenster kann auch zum Ausführen von Befehlen verwendet werden. Gib einfach ein > gefolgt vom Befehl.

enter image description here

Beispielsweise >Shell cmd startet eine Befehls-Shell (dies kann nützlich sein, um beispielsweise zu überprüfen, welche Umgebungsvariablen an Visual Studio übergeben wurden). >cls löscht den Bildschirm.

Hier ist eine Liste der Befehle, die so häufig verwendet werden, dass sie eigene Aliase haben: https://msdn.Microsoft.com/en-us/library/c3a0kd3x.aspx

10
CJBS

Das Direktfenster wird zum Debuggen und Auswerten von Ausdrücken, Ausführen von Anweisungen, Drucken von Variablenwerten usw. verwendet. Hier können Sie Ausdrücke eingeben, die von der Entwicklungssprache beim Debuggen ausgewertet oder ausgeführt werden sollen.

Um das Direktfenster anzuzeigen, wählen Sie Debug> Windows> Sofort oder drücken Sie Strg-Alt-I

enter image description here

Hier ist ein Beispiel mit Sofortfenster:

int Sum(int x, int y) { return (x + y);}
void main(){
int a, b, c;
a = 5;
b = 7;
c = Sum(a, b);
char temp = getchar();}

haltepunkt hinzufügen

enter image description here

befehle aufrufen

enter image description here

https://msdn.Microsoft.com/en-us/library/f177hahy.aspx

5