Condividi tramite


Debug remoto ASP.NET Core nel servizio app di Azure (Windows)

Questo articolo descrive come collegare il debugger di Visual Studio a un'app ASP.NET Core in esecuzione nel servizio app di 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 di Azure (Windows) da Visual Studio e l'app deve essere in esecuzione.

  • 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 Servizi app e quindi selezionare l'istanza del servizio app. È anche possibile cercare l'istanza del servizio app direttamente in base al nome nella barra di ricerca nella parte superiore. In questo esempio l'istanza del servizio app è denominata GitHubBrowser123.

    Screenshot di Azure Search.

  2. Nella pagina delle impostazioni per l'istanza di App Service, selezionare Configurazione dalla barra di navigazione sinistra e quindi scegliere la scheda Impostazioni generali.

  3. Nella parte inferiore della pagina assicurarsi di impostare la funzionalità Debug remotosu Sì e selezionare Visual Studio 2022 come versione remota di Visual Studio.

    Screenshot delle impostazioni di debug remoto di Azure.

  4. Selezionare Salva nella parte superiore della pagina per rendere persistenti le modifiche.

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

Configurare le impostazioni di debug

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

    Annotazioni

    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 sia deselezionato (come mostrato nell'illustrazione seguente) 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.

    Screenshot delle impostazioni di debug di Visual Studio.

Collegare il debugger al servizio app

  1. Dal menu principale nella parte superiore di Visual Studio, è possibile selezionare Debug > Collega al processo per aprire la finestra di dialogo corrispondente. Usando questa finestra è possibile connettersi e collegarsi a destinazioni diverse. In questo caso, ci si connetterà 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 hai già effettuato l'accesso con la sottoscrizione di Azure, seleziona Trova... e quindi accedi.

  4. Individuare e selezionare l'istanza del 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 di Azure che ospita l'applicazione distribuita. Selezionare il w3wp.exe processo e quindi scegliere Associa in basso a destra.

    Screenshot della funzionalità di collegamento al 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 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 dei 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 dei file di simboli.

Annotazioni

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