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).

  • Il profilo di pubblicazione in Visual Studio deve essere impostato su Debug anziché su Release prima della pubblicazione.

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 consente al debugger di Visual Studio di connettersi al processo di hosting Web principale del 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 Impostazioni generali.

  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

  1. Compilare l'app senza errori. Arrestare l'app se è in esecuzione in locale.

    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, l'esecuzione di codice e il codice sorgente in Visual Studio. I file di simboli corrispondenti sono necessari per il debug remoto.

    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 > Collega 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.

    Se non è già stato eseguito l'accesso con la sottoscrizione di Azure, selezionare Trova e quindi accedere.

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

  5. Il w3wp.exe processo dovrebbe essere visualizzato nell'elenco dei processi disponibili a cui connettersi. w3wp.exeè il processo principale del servizio app Azure che ospita l'applicazione distribuita. Selezionare il w3wp.exe processo e quindi scegliere Associa in basso a destra.

    Screenshot delle funzionalità di Associa a processo.

  6. In un file di applicazione C#, Index.cshtml.csad esempio , 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. Nell'app Web passare all'endpoint con il punto di interruzione. Se si è collegati al processo, ma non è possibile raggiungere il punto di interruzione, assicurarsi che il profilo di pubblicazione in Visual Studio sia impostato su una configurazione di debug anziché su una configurazione release.

  8. Facoltativo: per 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 indica che i file di simboli sono stati caricati correttamente dopo le modifiche apportate in precedenza alla configurazione just my code .

    Screenshot della finestra File di simboli.

Nota

Per il debug successivo del servizio app, selezionare Debug>Ricollega per w3wp.exe o usare i tasti di scelta rapida MAIUSC+ALT+P.