Depuração remota do ASP.NET Core no Serviço de Aplicativo do Azure (Windows)

Este artigo descreve como anexar o depurador do Visual Studio a um aplicativo do ASP.NET Core em execução no Serviço de Aplicativo do Azure. As etapas a seguir permitem que você depure o aplicativo como se ele estivesse em execução localmente.

Pré-requisitos

  • Visual Studio 2022 com as cargas de trabalho Desenvolvimento do ASP.NET e da Web e Desenvolvimento do Azure.

  • Primeiro, você deve implantar um aplicativo do ASP.NET Core para o Serviço de Aplicativo do Azure (Windows) no Visual Studio, e o aplicativo deve estar em execução.

    Para obter treinamento prático que inclui a implantação de Serviço de Aplicativo, consulte Depuração remota do ASP.NET Core no Azure.

  • Seu perfil de publicação no Visual Studio deve ser definido como Depurar em vez de Versão antes da publicação.

Habilitar depuração remota

Antes de depurar esse problema com o Visual Studio, você precisa habilitar o recurso de depuração remota no Serviço de Aplicativo. Essa configuração permitirá que o depurador do Visual Studio se conecte ao processo de hospedagem da web do Serviço de Aplicativo principal.

  1. Entre no seu próprio portal do Azure.

    Localize o aplicativo implantado no portal do Azure. Para encontrar o aplicativo, navegue até a página dos Serviços de Aplicativos e selecione a instância do Serviço de Aplicativo. Você também pode pesquisar a instância do Serviço de Aplicativo diretamente pelo nome na barra de pesquisa na parte superior. (Neste exemplo, a instância do Serviço de Aplicativo é denominada GitHubBrowser123.)

    Captura de tela da pesquisa do Azure.

  2. Na página de configurações da instância do Serviço de Aplicativo, selecione Configuração na navegação à esquerda e, em seguida, escolha a guia Configurações gerais.

  3. Na parte inferior da página, defina o recurso de Depuração Remota como Ativado e selecione Visual Studio 2022 como a versão Remota do Visual Studio.

    Captura de tela das configurações de depuração remota do Azure.

  4. Selecione Salvar na parte superior da página para manter suas alterações.

A instância do serviço de aplicativo agora dá suporte à depuração remota por meio do Visual Studio.

Definir configurações de depuração

  1. Crie seu aplicativo sem erros. Pare seu aplicativo se ele estiver sendo executado localmente.

    Observação

    Verifique se o estado do código local corresponde ao que foi implantado no Azure. Isso garante que os arquivos de símbolo locais e o código-fonte estejam alinhados com o aplicativo implantado.

  2. Selecione Depurar > Opções no menu superior do Visual Studio. Certifique-se de que a opção Habilitar apenas o meu código esteja desmarcada (conforme mostrado abaixo) e selecione OK.

    Alterar essa configuração permite que o Visual Studio depure o código otimizado implantado no Azure usando os arquivos de símbolo necessários da pasta de compartimento local. Os arquivos de símbolo são usados pelo depurador como uma ponte entre o código compilado e em execução e o código-fonte no Visual Studio. Os arquivos de símbolo correspondentes são obrigatórios para a depuração remota.

    Uma captura de tela das configurações de depuração do Visual Studio.

Anexar o depurador ao Serviço de Aplicativo

  1. No menu principal na parte superior do Visual Studio, selecione Depurar > Anexar ao processo para abrir a caixa de diálogo correspondente. Usando essa janela, você pode se conectar a destinos diferentes e anexar a eles. Nesse caso, você se conectará à instância do Serviço de Aplicativo criada na etapa anterior.

  2. Selecione a lista suspensa Tipo de Conexão e escolha a opção Serviços de Aplicativos do Microsoft Azure.

  3. Selecione Localizar... ao lado do campo Destino de Conexão para abrir uma caixa de diálogo que permite navegar por suas assinaturas e serviços de aplicativo do Azure.

    Se você ainda não estiver conectado com sua assinatura do Azure, selecione Localizar... Em seguida, você poderá entrar.

  4. Localize e selecione a instância do Serviço de Aplicativo que você criou na etapa anterior e escolha OK.

  5. O processo w3wp.exe deve aparecer na lista de processos disponíveis aos quais se conectar. w3wp.exe é o processo principal do Serviço de Aplicativo do Azure que hospeda o aplicativo implantado. Selecione o processo w3wp.exe e escolha Anexar no canto inferior direito.

    Uma captura de tela da anexação aos recursos de processo.

  6. Em um arquivo de aplicativo C#, por exemplo, Index.cshtml.cs, defina um ponto de interrupção clicando na margem esquerda. Como alternativa, clique com o botão direito do mouse e escolha Ponto de interrupção>Inserir ponto de interrupção.

  7. No aplicativo Web, navegue até o ponto de extremidade com o ponto de interrupção. Se você estiver anexado ao processo, mas não conseguir atingir o ponto de interrupção, verifique se o perfil de publicação no Visual Studio está definido como uma configuração de depuração em vez de uma configuração de versão.

  8. Opcional: para verificar se o Visual Studio carregou os arquivos de símbolo da sua sessão de depuração. Navegue até Depurar > Windows > Módulos para abrir a janela de módulos. Essa janela indica que os arquivos de símbolo foram carregados com êxito após as alterações na configuração Apenas meu código feitas anteriormente.

    Uma captura de tela da janela de arquivos de símbolo.

Observação

Para a depuração subsequente do serviço de aplicativo, selecione Depurar>Reanexar ao w3wp.exe ou use as teclas de atalho Shift+Alt+P.