Condividi tramite


Guida introduttiva: Eseguire il debug con C# o Visual Basic usando il debugger di Visual Studio

Il debugger di Visual Studio offre molte funzionalità potenti che consentono di eseguire il debug delle app. Questo articolo offre un modo rapido per apprendere alcune delle funzionalità di base.

Creare un nuovo progetto

  1. Aprire Visual Studio e creare un nuovo progetto.

    Se la finestra iniziale non è aperta, scegliere Finestradi avvio>. Nella finestra iniziale scegliere Crea un nuovo progetto.

    Nella finestra Crea un nuovo progetto immettere o digitare console nella casella di ricerca. Scegliere quindi C# dall'elenco Linguaggio e quindi scegliere Windows dall'elenco Piattaforma.

    Dopo aver applicato i filtri di linguaggio e piattaforma, scegliere il modello App console per .NET Core e quindi scegliere Avanti.

    Scegliere il framework di destinazione consigliato o .NET 10 e quindi scegliere Crea.

    Se non viene visualizzato il modello di progetto App console per .NET Core, passare a StrumentiOttieni strumenti >e funzionalità. Verrà aperto il programma di installazione di Visual Studio. Scegliere il workload .NET Core sviluppo multipiattaforma, quindi scegliere Modifica.

    Visual Studio crea il progetto.

  2. In Program.cs o Module1.vb sostituire il codice seguente

    class Program
    {
        static void Main(string[] args)
        {
        }
    }
    

    con questo codice:

    class Program
    {
        private static void doWork()
        {
            LinkedList<int> c1 = new LinkedList<int>();
    
            c1.AddLast(10);
            c1.AddLast(20);
    
            LinkedList<int> c2 = new LinkedList<int>(c1);
            int i = c2.First.Value;
            int j = c2.First.Value;
            Console.Write("The first element is ");
            Console.Write(i);
            Console.Write("\n");
            Console.Write("The second element is ");
            Console.Write(j);
            Console.Write("\n");
    
        }
    
        static int Main()
        {
            // using namespace std;
            doWork();
            return 0;
    
        }
    }
    

    Annotazioni

    In Visual Basic verificare che l'oggetto di avvio sia impostato su Sub Main (Properties > Application > Startup Object).

Imposta punto di interruzione

Un punto di interruzione è un indicatore che indica dove Visual Studio deve sospendere il codice in esecuzione in modo da poter esaminare i valori delle variabili o il comportamento della memoria oppure se viene eseguito o meno un ramo di codice. È la funzionalità più semplice per il debug.

  1. Per impostare il punto di interruzione, fare clic sulla barra a sinistra della doWork chiamata di funzione oppure selezionare la riga di codice e premere F9.

    Impostare un punto di interruzione

  2. A questo punto premere F5 o scegliere Debug > Avvia debug.

    Raggiungi un punto di interruzione

    Il debugger sospende dove si imposta il punto di interruzione. Una freccia gialla identifica l'istruzione in cui viene sospesa l'esecuzione del debugger e dell'app. La riga con la chiamata di doWork funzione non è ancora stata eseguita.

    Suggerimento

    Se si dispone di un punto di interruzione in un ciclo o in una ricorsione o se si dispone di molti punti di interruzione di frequente, usare un punto di interruzione condizionale per assicurarsi che il codice venga sospeso SOLO quando vengono soddisfatte condizioni specifiche. Un punto di interruzione condizionale può risparmiare tempo e può anche semplificare il debug dei problemi difficili da riprodurre.

Esistono comandi diversi per indicare al debugger di continuare. Viene illustrato un comando di spostamento del codice utile disponibile a partire da Visual Studio 2017.

Mentre il codice viene sospeso in corrispondenza del punto di interruzione, passare il puntatore del mouse sull'istruzione c1.AddLast(20) fino a quando non viene visualizzato il pulsante Esegui per fare clicRun to Click e quindi premere il pulsante Esegui per fare clic.

Esegui con clic

L'app continua l'esecuzione chiamando doWork e si sospende sulla riga di codice sulla quale hai fatto clic sul pulsante.

I comandi da tastiera comuni usati per scorrere il codice includono F10 e F11. Per istruzioni più approfondite, vedere Prima di tutto esaminare il debugger.

Esaminare le variabili in un'informazione sui dati

  1. Nella riga di codice corrente (contrassegnata dal puntatore di esecuzione giallo), posizionare il puntatore del mouse sopra l'oggetto c1 per visualizzare un'informazione sui dati.

    Visualizzare un tooltip

    Il suggerimento dati mostra il valore corrente della variabile c1 e consente di ispezionarne le proprietà. Quando si esegue il debug, se viene visualizzato un valore non previsto, è probabile che si verifichi un bug nelle righe di codice precedenti o chiamanti.

  2. Espandere la descrizione dati per esaminare i valori correnti delle proprietà dell'oggetto c1 .

  3. Se si desidera aggiungere la descrizione dati in modo che sia possibile continuare a visualizzare il valore di durante l'esecuzione del codice, selezionare l'icona a forma di c1 puntina piccola. È possibile spostare il suggerimento dati fissato in una posizione comoda.

Modificare il codice e continuare il debug

Se si identifica una modifica che si vuole testare nel codice durante una sessione di debug, è anche possibile eseguire questa operazione.

  1. Selezionare la seconda istanza di c2.First.Value e passare c2.First.Value a c2.Last.Value.

  2. Premere F10 (o Debug > Passa sopra) alcune volte per avanzare il debugger ed eseguire il codice modificato.

    Modifica e continua

    F10 sposta in avanti il debugger un'istruzione alla volta, ma esegue passaggi sulle funzioni invece di eseguirle (il codice ignorato continua a essere eseguito).

Per altre informazioni sull'uso di modifiche e continuazione e sulle limitazioni delle funzionalità, vedere Modifica e continuazione.

Passaggi successivi

In questa esercitazione si è appreso come avviare il debugger, eseguire il codice ed esaminare le variabili. È possibile ottenere un'analisi generale delle funzionalità del debugger insieme ai collegamenti ad altre informazioni.