Partilhar via


Depuração remota de ASP.NET Core no Azure App Service (Windows)

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

Pré-requisitos

  • Visual Studio 2022 com o desenvolvimento ASP.NET e Web e a carga de trabalho de desenvolvimento do Azure instalada.

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

  • Seu perfil de publicação no Visual Studio deve ser definido como Debug em vez de Release antes de publicar.

Habilitar depuração remota

Antes de poder depurar esse problema com o Visual Studio, você deve habilitar o recurso de depuração remota no Serviço de Aplicativo. Essa configuração permite que o depurador do Visual Studio se conecte ao processo principal de alojamento Web do App Service.

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

    Localize seu aplicativo implantado no portal do Azure. Você pode encontrar seu aplicativo navegando até a página Serviços de Aplicativo e selecionando 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 é chamada GitHubBrowser123.)

    Uma 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 escolha a guia Configurações Gerais .

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

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

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

Sua instância de serviço de aplicativo agora oferece 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 seu código local corresponde ao que foi implantado no Azure. Isso garante que os arquivos de símbolo local e o código-fonte estejam alinhados com o aplicativo implantado.

  2. Selecione Opções de depuração > no menu superior do Visual Studio. Certifique-se de que Ativar Só o Meu Códigoestá desmarcado (como mostrado na ilustração seguinte) e depois selecione OK.

    Alterar essa configuração permite que o Visual Studio depure o código otimizado que foi implantado no Azure usando os arquivos de símbolo necessários da sua pasta bin 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. Arquivos de símbolos correspondentes são necessários para depuração remota.

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

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

Anexar o depurador ao Serviço de Apps

  1. No menu principal no topo do Visual Studio, selecione Depurar > Ligar ao processo para abrir a caixa de diálogo correspondente. Usando esta janela, pode-se conectar e anexar-se a diferentes destinos. 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 Aplicações do Microsoft Azure.

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

    Se ainda não tiver iniciado sessão com a sua subscrição do Azure, selecione Localizar... e, em seguida, pode iniciar sessão.

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

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

    Uma captura de tela das funcionalidades de anexação ao processo.

  6. Em um arquivo de aplicativo C#, como 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 estiveres ligado ao processo, mas não conseguires atingir o ponto de quebra, verifica se o teu perfil de publicação no Visual Studio está definido como uma configuração Debug em vez de uma configuração Release.

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

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

Observação

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