This article is currently in the process of being translated into Italian (~98% done).
The tool windows
Quando si esegue il debug in Visual Studio, le finestre degli strumenti nella parte inferiore dello schermo cambieranno e verranno rivelate nuove finestre (a meno che non siano state disattivate). Le finestre sono chiamate "Locals", "Watch", "Call stack" e "Finestra immediata" e sono tutti legati alla esperienza di debug. In questo capitolo esamineremo ciascuno di loro e vi mostreremo cosa possono fare per voi.
Locals
Questa finestra è la più semplice di tutte. Quando viene raggiunto un punto di interruzione, tutte le variabili locali verranno elencate qui, consentendo di ottenere una rapida panoramica del loro nome, tipo e valore. È anche possibile fare clic destro nella griglia e selezionare "Modifica valore", per dare ad una variabile un nuovo valore. Questo ti permette di testare il tuo codice in condizioni diverse da quelle attuali.
Watch
La finestra Watch è un po' come la finestra Locals, solo che qui puoi decidere quali variabili sono tracciate, locali o globali. È possibile aggiungere variabili da controllare trascinandole dalla finestra del codice, dalla finestra Locals o scrivendo il suo nome sull'ultima riga vuota. Le variabili rimarranno nella finestra Watch finché non verranno rimosse nuovamente, ma verranno aggiornate solo quando si esegue il debug nell'ambito corrente. Ad esempio, una variabile nella funzione A non verrà aggiornata quando si passa attraverso la funzione B. Proprio come con la finestra Locals, è possibile fare clic destro su una variabile osservata e selezionare "Modifica valore" per modificare il valore corrente della variabile.
Call Stack
La finestra Call Stack vi mostrerà la gerarchia corrente delle funzioni chiamate. Ad esempio, se la funzione A chiama la funzione B che chiama la funzione C che poi chiama la funzione D, la finestra Call Stack la mostrerà e sarai in grado di saltare a ciascuna delle dichiarazioni di funzione. Puoi anche vedere quali parametri sono stati passati a ciascuna funzione. Nei semplici esempi con cui abbiamo lavorato finora, questo potrebbe sembrare inutile, dal momento che tenere traccia di quale funzione ha chiamato un'altra funzione è banale, ma non appena il codice raggiunge un livello più elevato di complessità e si ha funzioni in classi che chiamano funzioni in altre classi, il Call Stack può essere un vero e proprio salvavita.
Finestra immediata
La finestra Immediate è probabilmente la più utile di tutte. Permette di eseguire linee di codice personalizzate nel contesto corrente del debugger. Ciò consente di controllare le variabili, modificarne i valori o semplicemente testare una riga di codice. Basta digitarlo nella finestra, premere Invio e la riga verrà eseguita. Digita un nome variabile e il suo valore verrà stampato. Imposta un valore variabile scrivendo a = 5. Il risultato, se presente, verrà stampato e qualsiasi modifica apportata, verrà riflessa quando continui l'esecuzione del codice. La finestra Immediate è come un terminale C# dove puoi inserire il codice e vedere i risultati immediatamente - una volta che ti abitui, potresti diventare dipendente. Io so di esserlo.