Guida introduttiva: Eseguire il debug di ASP.NET Core con il debugger di Visual Studio

In questa guida introduttiva viene illustrato come usare il debugger Visual Studio per eseguire il debug del codice dell'applicazione ASP.NET Core. Questo articolo offre un modo rapido per apprendere alcune delle funzionalità di base per lavorare nel debugger.

Se non si dispone di Visual Studio, è possibile installare la versione di valutazione gratuita dalla pagina download Visual Studio.

Creare un nuovo progetto

Per iniziare, creare un nuovo progetto, quindi è necessario disporre di codice da archiviare nel debugger.

  1. Aprire Visual Studio e creare un nuovo progetto.

    • Se la finestra iniziale non è aperta, selezionareFinestra di avvio>.

    • Nella finestra iniziale selezionare Crea un nuovo progetto.

  2. Nella finestra Crea un nuovo progetto impostare i filtri e cercare un modello di progetto.

    • Nella casella Cerca modelli immettere l'app Web.

    • Espandere l'elenco a discesa Linguaggio e selezionare C#.

  3. Nell'elenco dei risultati selezionare il modello ASP.NET Core App Web (Razor Pages) per C#, quindi selezionare Next.

    Se non viene visualizzato il modello ASP.NET Core App Web (Razor Pages) per C#, selezionare l'opzione Continue senza codice.

    1. Selezionare Tools>Strumenti e funzionalità... , che apre il programma di installazione di Visual Studio.

    2. Nella finestra Del programma di installazione selezionare la casella di controllo relativa al carico di lavoro ASP.NET e sviluppo Web e quindi selezionare Modify.

      L'installazione di Visual Studio viene aggiornata per includere il carico di lavoro ASP.NET selezionato.

    3. Al termine dell'aggiornamento, selezionare Finestra diavvio> e seguire le istruzioni precedenti per selezionare il modello richiesto.

  4. Configurare il nuovo progetto:

    1. Immettere un nome Project name e Solution name oppure usare i valori predefiniti.

    2. Usare il percorso predefinito o selezionare Sfoglia (...) per creare il progetto in una cartella diversa.

    3. Seleziona Avanti.

    4. Usare la destinazione consigliata Framework (il valore predefinito è .NET 10.0 Long Term Support).

    5. Per le altre impostazioni, usare i valori predefiniti.

    6. Fare clic su Crea.

    Visual Studio crea il nuovo progetto e aggiunge i file di progetto nella cartella specificata.

Aggiornare il codice del progetto

Aggiornare parte del codice fornito dal modello di progetto in modo da avere più istruzioni da testare nel debugger.

  1. Nel riquadro Esplora soluzioni espandere il nodo <project-name>\Pages e selezionare l'elemento Privacy.cshtml.

    Il file Privacy.cshtml viene aperto nell'editor di codice.

  2. Individuare la sezione di codice seguente nel file e sostituirla con il frammento specificato:

    @{
     ViewData["Title"] = "Privacy Policy";
    }
    

    Frammento di sostituzione:

    @{
     ViewData["Title"] = "Privacy Policy";
     <label>@PrivacyModel.PrivacyMessage</label>
    }
    
  3. In Esplora soluzioni espandere il nodo <project-name>\Pages\Privacy.cshtml e selezionare l'elemento Privacy.cshtml.cs.

    Il file Privacy.cshtml.cs viene aperto nell'editor di codice.

  4. Individuare la sezione di codice seguente nel file e sostituirla con il frammento specificato:

    public void OnGet()
    {
    }
    

    Frammento di sostituzione:

    
    public static string? PrivacyMessage { get; set; }
    
    public void OnGet() {
       LinkedList<int> result = DoWork();
    
       PrivacyMessage = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> DoWork() {
       LinkedList<int> c1 = new();
    
       c1.AddLast(10);
       c1.AddLast(20);
    
       LinkedList<int> c2 = new(c1);
       return c2;
    }
    

Imposta punto di interruzione

Un breakpoint è un marcatore che indica dove Visual Studio deve sospendere il codice in esecuzione. Quando viene impostato un punto di interruzione, è possibile esaminare i valori correnti delle variabili, esaminare il comportamento della memoria e verificare se è in esecuzione un ramo di codice specifico. I punti di interruzione sono la funzionalità di base per il debug.

  1. Per impostare un punto di interruzione, individua la chiamata alla funzione DoWork nel codice, quindi seleziona il margine sinistro sulla stessa riga.

    Quando il punto di interruzione è impostato, viene visualizzato un punto rosso nella barra sinistra sulla riga corrispondente nel codice.

    Screenshot che illustra come impostare un punto di interruzione nel debugger Visual Studio.

    Screenshot che illustra come impostare un punto di interruzione nel debugger Visual Studio 2022.

  2. Avviare il debug usando il tasto di scelta rapida F5 (o selezionare Debug>Avvia debug).

  3. Quando la pagina Web viene aperta nella finestra del browser, selezionare il collegamento Privacy nella parte superiore della pagina.

    L'esecuzione del codice viene sospesa immediatamente prima della chiamata alla DoWork funzione .

    Il debugger sospende dove si imposta il punto di interruzione. Una freccia gialla identifica l'istruzione in cui il debugger sospende l'esecuzione dell'app.

    Screenshot che mostra il debugger sospeso in un punto di interruzione impostato in Visual Studio.

    Screenshot che mostra il debugger sospeso in un punto di interruzione impostato in Visual Studio 2022.

Impostare punti di interruzione condizionali

Se imposti un punto di interruzione in un ciclo o in una funzione ricorsiva, oppure se hai molti punti di interruzione attraverso cui passi spesso, usa un punto di interruzione condizionale.

Questo approccio consente di garantire che il codice venga sospeso solo quando vengono soddisfatte condizioni specifiche. Un punto di interruzione condizionale può risparmiare tempo e semplificare il debug dei problemi difficili da riprodurre.

Esaminare il codice

Visual Studio offre diversi modi per indicare al debugger di continuare con l'esecuzione dell'app. L'esempio seguente illustra un comando utile per scorrere il codice.

Mentre il codice viene sospeso in corrispondenza del punto di interruzione, passare il puntatore del mouse sull'istruzione return c2; fino a visualizzare l'icona verde Esegui per fare clic (Esegui esecuzione fino a qui). Selezionare l'icona.

Screenshot che illustra come usare l'azione Esegui per fare clic nel debugger Visual Studio.

Screenshot che illustra come usare l'azione Esegui per fare clic nel debugger Visual Studio 2022.

L'app continua l'esecuzione e si sospende nella riga di codice in cui è stato 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

È possibile esaminare lo stato delle variabili usando la funzionalità suggerimento dati .

  1. Nella riga di codice corrente (contrassegnata dal puntatore di esecuzione giallo), passare il puntatore del mouse sull'oggetto c2 per visualizzare la descrizione dati.

    Screenshot che mostra come visualizzare i suggerimenti per i dati per le variabili di codice nel debugger Visual Studio.

    Screenshot che illustra come visualizzare i suggerimenti per i dati per le variabili di codice nel debugger Visual Studio 2022.

    Il suggerimento dati mostra il valore corrente della variabile c2 e consente di ispezionarne le proprietà.

    Quando si esegue il debug, se viene visualizzato un valore imprevisto per una variabile, è probabile che si verifichi un bug. Il bug potrebbe trovarsi nel codice che effettua la chiamata alla variabile o nella riga precedente.

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

  3. Per continuare a controllare il valore di durante l'esecuzione del codice, selezionare l'icona a forma di c2puntina sulla descrizione dati.

    L'azione di aggiunta mantiene aperta la descrizione dati. Durante l'esecuzione del codice, il valore nel suggerimento fissato cambia per mostrare lo stato corrente dell'oggetto controllato.

    Puoi spostare il suggerimento bloccato in qualsiasi punto dell'IDE, in modo che non ti impedisca di osservare altri elementi durante il debug.

Passo successivo