Como de costume, o código que funciona perfeitamente em seu ambiente local, raramente funciona perfeitamente em seu ambiente de teste remoto. Algumas questões só podem ser reproduzidos seu funcionamento em diferentes hardwares, como uma conta de serviço diferente, etc Para descobrir exatamente o que está acontecendo nesse meio, você precisa configurar a depuração remota.

A depuração remota no Visual Studio permite que você debugar o código e utilizando break points, objetos, inspecionar a pilha, e capturar os erros em um servidor remoto como se você estivesse executando o código localmente. Embora geralmente seja lento, esta capacidade é inestimável quando os problemas misteriosos surgem em outro ambiente.

A Microsoft fez a configuração desse recurso mágico bastante simples, mas há alguns segredinhos que sempre me causam dores de cabeça.

Para começar, você precisa instalar o Visual Studio Remote Tools no servidor que você deseja depurar remotamente;

Depois de instalar o serviço, você deve executar “Remote Tools Configuration Wizard” que está no menu iniciar do seu servidor, ele permitirá especificar a conta de usuário para ser executado. Depois de concluir o assistente, você deve iniciar o “Remote Debugger Monitor” que também está no menu iniciar do servidor. Isso é tudo que você precisa fazer no lado do servidor.

Em seguida, você deve se conectar ao servidor a partir do Visual Studio para que possa anexar ao processo w3wp. Antes de fazer isso, existem dois itens importantes a serem observados:

  1. Você deve ter a mesma versão do código do seu aplicativo publicado no servidor, por isso certifique-se de publicar sua solução antes de tentar depurá-lo.
  2. Você deve publicar a versão de Debug do código no servidor. Se você publicar a versão Release, os arquivos.pdb que contêm todos os símbolos de depuração não serão incluídos e não será possível depurar remotamente.

Com o mais recente código publicado  no servidor em modo Debug, você deve ser capaz de se conectar e anexar o processo para iniciar a depuração. A partir do Visual Studio, vá para Debug -> Attach to Process. No campo Qualifier, digite o IP ou o nome do servidor que você deseja se conectar (a porta deve padrão para 4018 automaticamente) e pressione o botão Refresh na parte inferior. Se tudo ocorrer bem, você verá uma lista de processos em execução.

debug-remoto

Se você não ver o processo w3wp.exe na lista, certifique-se de ter marcado a opção “Show process on all users“. Se você ainda não está o vendo, acesse seu aplicativo por meio de um browser para iniciar o processo, em seguida pressione Refresh novamente.

Uma vez que encontre o processo w3wp.exe, selecione-o e clique no botão “Attach“. Seu cliente local e o servidor vão sincronizar os arquivos de símbolos, que podem levar alguns minutos, e então você deve estar conectado ao depurador remoto. Você agora está livre para definir break poins em seu código local, que serão atingidos a partir da execução remota.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Preencha esse campo
Preencha esse campo
Digite um endereço de e-mail válido.
Você precisa concordar com os termos para prosseguir

Menu