Remote Debug ASP.NET Core in app Azure Service (Windows)

Questo articolo descrive come collegare il debugger di Visual Studio a un'app core ASP.NET in esecuzione nel servizio app Azure. I passaggi seguenti consentono di eseguire il debug dell'app come se fosse in esecuzione in locale.

Prerequisiti

  • Visual Studio 2022 con lo sviluppo di ASP.NET e Web e il carico di lavoro Sviluppo di Azure installato.

  • È prima necessario distribuire un'app ASP.NET Core nel servizio app Azure (Windows) da Visual Studio e l'app deve essere in esecuzione.

    Per il training pratico che include la distribuzione di servizio app, vedere Remote debug ASP.NET Core on Azure (Debug remoto ASP.NET Core in Azure).

Abilitare il debug remoto

Prima di poter eseguire il debug di questo problema con Visual Studio, è necessario abilitare la funzionalità di debug remoto nel Servizio app. Questa impostazione consentirà al debugger di Visual Studio di connettersi al processo principale di hosting Web di Servizio app.

  1. Accedere al proprio portale di Azure.

    Individuare l'applicazione distribuita nel portale di Azure. Per trovare l'app, passare alla pagina servizio app e quindi selezionare l'istanza di servizio app. È anche possibile cercare l'istanza di Servizio app direttamente in base al nome nella barra di ricerca nella parte superiore. In questo esempio l'istanza di servizio app è denominata GitHubBrowser123.

    Screenshot di Ricerca di Azure.

  2. Nella pagina delle impostazioni per l'istanza di servizio app selezionare Configurazione nel riquadro di spostamento a sinistra e quindi scegliere la scheda Generale Impostazioni.

  3. Nella parte inferiore della pagina, assicurarsi di impostare la funzionalità Debug remoto su Attivo e selezionare Visual Studio 2022 come versione Visual Studio remota.

    Screenshot delle impostazioni di debug remoto di Azure.

  4. Selezionare Salva nella parte superiore della pagina per salvare le modifiche in modo permanente.

L'istanza del Servizio app supporta ora il debug remoto tramite Visual Studio.

Configurare le impostazioni di debug

Assicurarsi di aver completato la procedura seguente in Visual Studio prima di eseguire il debug di un'app in Azure affinché l'operazione abbia esito positivo.

  1. Verificare innanzitutto di aver compilato correttamente il progetto almeno una volta. Una compilazione corretta garantisce che il codice sorgente e tutti i file compilati necessari siano pronti per l'esecuzione. Se l'applicazione è in esecuzione in locale, arrestare l'app.

    Nota

    Assicurarsi che lo stato del codice locale corrisponda a quello distribuito in Azure. In questo modo si garantisce che i file di simboli locali e il codice sorgente siano allineati all'app distribuita.

  2. Selezionare Opzioni di debug > dal menu in alto di Visual Studio. Assicurarsi che Enable Just My code (Abilita just my code ) sia deselezionato (come illustrato di seguito) e quindi selezionare OK.

    La modifica di questa impostazione consente a Visual Studio di eseguire il debug del codice ottimizzato distribuito in Azure usando i file di simboli necessari dalla cartella bin locale. I file di simboli vengono usati dal debugger come bridge tra il codice compilato in esecuzione e il codice sorgente in Visual Studio e per questo motivo è importante che il codice sorgente locale corrisponda all'app di distribuzione.

    Screenshot delle impostazioni di debug di Visual Studio.

Collegare il debugger a Servizio app di Azure

  1. Nel menu principale nella parte superiore di Visual Studio selezionare Debug -> Connetti a processo per aprire la finestra di dialogo corrispondente. La finestra consente di connettersi e collegarsi a destinazioni diverse. In questo caso, ci si connette all'istanza del servizio app creata nel passaggio precedente.

  2. Selezionare l'elenco a discesa Tipo di connessione e scegliere l'opzione Servizi app di Microsoft Azure.

  3. Selezionare Trova accanto al campo Destinazione connessione per aprire una finestra di dialogo che consente di esplorare le sottoscrizioni e i servizi app di Azure.

  4. Individuare e selezionare l'istanza di servizio app creata nel passaggio precedente e quindi scegliere OK.

  5. Il processo w3wp.exe viene visualizzato nell'elenco dei processi cui è possibile connettersi ed è il processo principale di Servizio app di Azure che ospita l'applicazione distribuita. Selezionare tale processo, quindi scegliere Connetti in basso a destra per connettere il debugger Visual Studio.

    Screenshot delle funzionalità di Associa a processo.

  6. In Index.cshtml.cs o in un file di applicazione C# diverso impostare un punto di interruzione facendo clic sul margine sinistro. In alternativa, fare clic con il pulsante destro del mouse e scegliere Punto di interruzione>Inserisci punto di interruzione.

  7. Facoltativamente, è anche possibile verificare che Visual Studio abbia caricato i file di simboli per la sessione di debug. Passare a Debug > Windows > Moduli per aprire la finestra Moduli. Questa finestra dovrebbe indicare che i file di simboli sono stati caricati correttamente dopo le modifiche alla configurazione del codice appena apportate in precedenza.

    Screenshot della finestra File di simboli.