Debug Remoto de aplicações .net

by Cássio R Eskelsen 20. outubro 2008 14:13

Quem trabalha no desenvolvimento de aplicações asp.net deve ter se deparado várias vezes com a necessidade de depurar código diretamente no servidor de produção (ou de testes). Situações como implementação de operações de cartões de crédito em B2C são difíceis de se reproduzir na máquina de desenvolvimento pois envolvem callback externo.

Se você tem acesso ao seu servidor, pode utilizar o recurso de debug remoto do Visual Studio. É algo relativamente trivial de ser feito, mas pouco comentado.

O primeiro passo é instalar o serviço de debug no seu servidor. A instalação está disponível no DVD de instalação do Visual Studio, na pasta “Remote Debugger”. Escolha a versão apropriada para o seu servidor.

Durante a instalação será solicitado que você informe uma conta com privilégios de rodar o serviço de debug remoto. Não sei o porquê, mas não consegui fazer isso durante a instalação (não aceitava nenhuma conta), no entanto, resolvi isso facilmente indo na administração dos serviços (Start->Administrative Tools->Services) e setando minha conta na mão:

image

Iniciado o serviço, você pode subir seus fontes. Note que se você fizer o deploy usando a opção Publish do Visual Studio, você não conseguirá fazer o debug pois os símbolos de debug não vão junto. A forma mais fácil de resolver é usando a opção WebSite->Copy Web Site do Visual Studio.

Por último, você deve atachar o seu Visual Studio ao serviço do IIS do Servidor. 

Vá em Tools->Attach do Process:

image

Digite o nome ou procure o servidor pelo botão Browse… e após, clique em refresh.

No caso do Windows 2003 (que é o meu servidor), o nome do processo do IIS é “w3wp”. De pronto, não sei o porquê de aparecerem dois processos, mas o correto é o w3wp, type T-SQL, Managed, x86. Selecione o processo e clique em Attach.

O seu Visual Studio entrará em modo de debug. Você precisa estar com o seu projeto aberto para que os fontes sejam debugados. Navegue pelas páginas de sua aplicação ASP.NET e sempre que for encontrado um breakpoint, o Visual Studio apontará para ele.

Você pode encontrar mais informações, inclusive como lidar com o Windows Firewall, aqui: http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

Tags:

.Net

Comentários

Comentar




  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading