Compartilhar via


Depurar seus aplicativos remotamente nos Aplicativos Spring do Azure

Observação

Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.

O plano Consumo Standard e dedicado será preterido a partir de 30 de setembro de 2024, com desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo se aplica ao: ✔️ nível Básico/Standard ✔️ nível Enterprise

Esse recurso descreve como habilitar a depuração remota de seus aplicativos nos Aplicativos Spring do Azure.

Pré-requisitos

  • CLI do Azure com a extensão dos Aplicativos Spring do Azure. Use o comando a seguir para remover versões anteriores e instalar a extensão mais recente. Se você instalou a extensão do Spring Cloud anteriormente, desinstale-a para evitar incompatibilidades de configuração e de versão.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Um aplicativo implantado nos Aplicativos Spring do Azure.

Habilitar ou desabilitar a depuração remota

Por motivos de segurança, os Aplicativos Spring do Azure desabilitam a depuração remota por padrão. Conforme a política da sua empresa, você pode habilitar a depuração remota para seu aplicativo por conta própria ou solicitar a um administrador que faça isso por você. É possível habilitar ou desabilitar a depuração remota usando a CLI do Azure, o portal do Azure ou a extensão do VS Code.

Siga as etapas a seguir para habilitar a depuração remota do seu aplicativo usando o portal do Azure:

  1. Navegue até a página do seu aplicativo.

  2. Em Configurações no painel de navegação à esquerda, selecione Depuração remota.

  3. Na página Depuração remota, habilite-a e defina a porta de depuração.

    Captura de tela do portal do Azure que mostra a página Depuração remota com as opções Depuração remota e Porta de depuração selecionadas.

Atribuir uma função do Azure

Para depurar remotamente uma instância de aplicativo, você precisa ter a função Azure Spring Apps Remote Debugging Role, que inclui a permissão de ação de dados Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action.

Você pode atribuir uma função do Azure através do portal do Azure ou da CLI do Azure.

Use as seguintes etapas para atribuir uma função do Azure usando o portal do Azure.

  1. Abra o Portal do Azure.

  2. Abra a sua instância de serviço dos Aplicativos Spring do Azure.

  3. No painel de navegação à esquerda, selecione Controle de Acesso (IAM).

  4. Na página Controle de Acesso (IAM), selecione Adicionar e, em seguida, Adicionar atribuição de função.

    Captura de tela da página IAM (Controle de Acesso) do portal do Azure de uma instância dos Aplicativos Spring do Azure com a opção Adicionar atribuição de função realçada.

  5. Na página Adicionar atribuição de função, na lista Nome, procure e selecione Função de Depuração Remota dos Aplicativos Spring do Azure e, em seguida, selecione Avançar.

    Captura de tela do portal do Azure que mostra a página

  6. Selecione Membros e, em seguida, pesquise e selecione seu nome de usuário.

  7. Selecione Examinar + atribuir.

Depurar uma instância de aplicativo remotamente

Você pode depurar uma instância de aplicativo remotamente usando o Azure Toolkit for IntelliJ ou a extensão dos Aplicativos Spring do Azure para VS Code.

Esta seção descreve como depurar uma instância de aplicativo remotamente usando o Azure Toolkit for IntelliJ.

Pré-requisitos

Habilitar ou desabilitar a depuração remota

Siga as etapas a seguir para habilitar ou desabilitar a depuração remota:

  1. Entre em sua conta do Azure no Azure Explorer.

  2. Selecione uma instância de aplicativo e, em seguida, selecione Habilitar Depuração Remota.

    Captura de tela do IntelliJ que mostra a opção de menu Habilitar Depuração remota.

Anexar Depurador

Siga estas etapas para anexar um depurador.

  1. Selecione uma instância de aplicativo e, em seguida, selecione Anexar Depurador. O IntelliJ se conectará à instância de aplicativo e iniciará a depuração remota.

    Captura de tela do IntelliJ que mostra a opção de menu Anexar depurador.

  2. O Azure Toolkit for IntelliJ cria a configuração de depuração remota. Você pode encontrar essa configuração em Remote Jvm Debug". Configure o caminho de classe do módulo para o código-fonte que você está usando para a depuração remota.

    Captura de tela do IntelliJ que mostra a página Configurações de execução/depuração.

Solução de problemas

Esta seção fornece informações de solução de problemas.

  • Se você não conseguir anexar o depurador e receber um erro parecido com java.net.SocketException, connection reset ou Failed to attach to remote debugger, ClosedConnectionException, faça o seguinte:

    • Verifique a função RBAC para verificar se você tem autorização para depurar uma instância de aplicativo remotamente.

    • Verifique se está se conectando a uma instância válida. Atualize a implantação para acessar as instâncias mais recentes.

      Captura de tela do gerenciador de projetos do IntelliJ que mostra a opção de menu Atualizar para o nó de Instâncias de aplicativo.

  • Se você conectou o depurador com sucesso, mas não conseguiu depurar a instância do aplicativo à distância, faça o seguinte:

    • Verifique se o IDE contém o código-fonte que você deseja depurar.
    • Verifique se a configuração de depuração está com o caminho de classe do módulo correto.

Limitações

A depuração remota só tem suporte para aplicativos Java.

Plano Tipo de implantação Com suporte
Plano padrão e básico Jar Yes
Plano padrão e básico Código-fonte (Java) Yes
Plano padrão e básico Imagem personalizada Não
Plano Enterprise Java Application Yes
Plano Enterprise Código-fonte (Java) Yes
Plano Enterprise Imagem personalizada Não

Dicas

  • A depuração remota em Java é arriscada porque permite a execução remota de código. Os Aplicativos Spring do Azure ajudam você a proteger a comunicação entre o IDE do cliente e o aplicativo remoto. No entanto, você deve desabilitar a depuração remota e remover a função RBAC depois de terminar.
  • Você deve reduzir horizontalmente a instância do aplicativo para uma, para garantir que o tráfego seja direcionado para a instância.

Próximas etapas