Condividi tramite


Eseguire il debug remoto delle app in Azure Spring Apps

Nota

Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.

Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise

Questa funzionalità descrive come abilitare il debug remoto delle applicazioni in Azure Spring Apps.

Prerequisiti

  • Interfaccia della riga di comando di Azure con l'estensione Azure Spring Apps. Usare il comando seguente per rimuovere le versioni precedenti e installare l'estensione più recente. Se in precedenza è stata installata l'estensione spring-cloud, disinstallarla per evitare la mancata corrispondenza della configurazione e della versione.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Applicazione distribuita in Azure Spring Apps.

Abilitare o disabilitare il debug remoto

Per motivi di sicurezza, Azure Spring Apps disabilita il debug remoto per impostazione predefinita. In base ai criteri aziendali, è possibile abilitare il debug remoto per l'app manualmente o visualizzare un amministratore per abilitarlo. È possibile abilitare o disabilitare il debug remoto usando l'interfaccia della riga di comando di Azure, portale di Azure o l'estensione VS Code.

Usare la procedura seguente per abilitare il debug remoto per l'applicazione usando il portale di Azure:

  1. Passare alla pagina dell'applicazione.

  2. In Impostazioni nel riquadro di spostamento sinistro selezionare Debug remoto.

  3. Nella pagina Debug remoto abilitare il debug remoto e specificare la porta di debug.

    Screenshot della portale di Azure che mostra la pagina Debug remoto con le opzioni Debug remoto e Porta di debug selezionate.

Assegnare un ruolo di Azure

Per eseguire il debug remoto di un'istanza dell'app, è necessario avere il ruolo Azure Spring Apps Remote Debugging Role, che include l'autorizzazione per l'azione Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action dati.

È possibile assegnare un ruolo di Azure usando il portale di Azure o l'interfaccia della riga di comando di Azure.

Usare la procedura seguente per assegnare un ruolo di Azure usando il portale di Azure.

  1. Apri il portale di Azure.

  2. Aprire l'istanza del servizio Azure Spring Apps.

  3. Nel riquadro di spostamento selezionare Controllo di accesso (IAM).

  4. Nella pagina Controllo di accesso (IAM) selezionare Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.

    Screenshot della pagina portale di Azure Controllo di accesso (IAM) per un'istanza di Azure Spring Apps con l'opzione Aggiungi assegnazione di ruolo evidenziata.

  5. Nell'elenco Nome della pagina Aggiungi assegnazione di ruolo cercare e selezionare Ruolo debug remoto di App Spring di Azure e quindi selezionare Avanti.

    Screenshot del portale di Azure che mostra la pagina Aggiungi assegnazione di ruolo con il nome del ruolo debug remoto di Azure Spring Apps evidenziato.

  6. Selezionare Membri e quindi cercare e selezionare il nome utente.

  7. Seleziona Rivedi + assegna.

Eseguire il debug remoto di un'istanza dell'app

È possibile eseguire il debug di un'istanza di app in modalità remota usando Azure Toolkit for IntelliJ o l'estensione Azure Spring Apps for VS Code.

Questa sezione descrive come eseguire il debug di un'istanza di app in modalità remota usando Azure Toolkit for IntelliJ.

Prerequisiti

Abilitare o disabilitare il debug remoto

Per abilitare o disabilitare il debug remoto, seguire questa procedura:

  1. Accedere all'account Azure in Azure Explorer.

  2. Selezionare un'istanza dell'app e quindi selezionare Abilita debug remoto.

    Screenshot di IntelliJ che mostra l'opzione di menu Abilita debug remoto.

Collega debugger

Per collegare il debugger, seguire questa procedura.

  1. Selezionare un'istanza dell'app e quindi selezionare Collega debugger. IntelliJ si connette all'istanza dell'app e avvia il debug remoto.

    Screenshot di IntelliJ che mostra l'opzione di menu Collega debugger.

  2. Azure Toolkit for IntelliJ crea la configurazione di debug remoto. È possibile trovarla in Remote Jvm Debug" Configurare il percorso della classe del modulo per il codice sorgente usato per il debug remoto.

    Screenshot di IntelliJ che mostra la pagina Run/Debug Configurations (Configurazioni di esecuzione/debug).

Risoluzione dei problemi

In questa sezione vengono fornite informazioni sulla risoluzione dei problemi.

  • Eseguire le azioni seguenti se non è possibile collegare il debugger e ricevere un errore simile a java.net.SocketException, connection reset o Failed to attach to remote debugger, ClosedConnectionException:

    • Controllare il ruolo Controllo degli accessi in base al ruolo per assicurarsi di essere autorizzati a eseguire il debug remoto di un'istanza dell'app.

    • Assicurarsi di connettersi a un'istanza valida. Aggiornare la distribuzione per ottenere le istanze più recenti.

      Screenshot dello strumento di esplorazione del progetto IntelliJ che mostra l'opzione di menu Aggiorna per il nodo Istanze dell'app.

  • Eseguire le azioni seguenti se si collega correttamente il debugger ma non è possibile eseguire il debug remoto dell'istanza dell'app:

    • Assicurarsi che l'IDE contenga il codice sorgente di cui si vuole eseguire il debug.
    • Assicurarsi che la configurazione di debug disponga del percorso della classe del modulo corretto.

Limiti

Il debug remoto è supportato solo per le applicazioni Java.

Piano Tipo di distribuzione Supportata
Piano standard e di base Jar
Piano standard e di base Codice sorgente (Java)
Piano standard e di base Immagine personalizzata No
Piano Enterprise Applicazione Java
Piano Enterprise Codice sorgente (Java)
Piano Enterprise Immagine personalizzata No

Suggerimenti

  • Il debug remoto Java è pericoloso perché consente l'esecuzione di codice remoto. Azure Spring Apps consente di proteggere la comunicazione tra l'IDE client e l'applicazione remota. Tuttavia, è necessario disabilitare il debug remoto e rimuovere il ruolo controllo degli accessi in base al ruolo al termine.
  • È consigliabile ridimensionare l'istanza dell'app a uno per assicurarsi che il traffico possa passare all'istanza.

Passaggi successivi