Friday, September 27, 2013

Debugando mais precisamente Farm Solutions

Para começar, um post bem simples e prático de uma tarefa bem comum no meu dia-a-dia.

Quando desejo debugar alguma WebPart, Event Receiver ou qualquer outro recurso que seja executado em um IIS Application Pool Process e implantado em um site SharePoint, faço os seguintes passos, sem eles geralmente o breakpoint fica inacessível

Assegure que a URL do Site SharePoint está informada corretamente, nas propriedades do Projeto, campo Site URL:


Assegure também, que a configuração de compilação do seu projeto está marcado como Debug e não Release.


Faça um deploy da WebPart para garantir que a última versão esteja instalada.


Recarregue qualquer página do Site SharePoint a fim de que ele "aqueça" o servidor e cacheie tudo que for necessário. No meu exemplo, recarreguei a página que minha WebPart está.


Insira um breakpoint onde você deseja fazer o debug.


Abra o menu DEBUG na barra superior do Visual Studio e selecione Attach to Process.


Uma tela com diversos processos do Windows será apresentada. Marque a opção Show processes from all users.


Normalmente, o processo w3wp correto é o primeiro por ter sido o último acessado por algum usuário e você acabou de acessar uma página qualquer do seu servidor, porém, para confirmarmos esse dado utilize estes comandos abaixo diretamente no Prompt de Comando (cmd.exe) do seu servidor, rodando-o como Administrador.

cd C:\Windows\System32\inetsrv
Appcmd list wp
pause


Com este comando, conseguimos descobrir qual o w3wp correto. Assim, selecione o processo do Pool do IIS que contém o seu site SharePoint e clique em Attach. Aguarde até que o breakpoint fique uma bolinha vermelha cheia e acesse a página que contém sua WebPart, ou recarregue-a (caso já esteja nela). Com isto, o breakpoint deve ser "atingido" pelo Visual Studio e você pode debugar tranquilamente.


Qualquer dúvida ou problema neste pequeno tutorial, não hesite em comentar abaixo. Obrigado.

2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Tutorial top para quem está iniciando, ainda mais com o truque de selecionar a w3wp correta. Isso faz com que a demora diminua na hora de debugar e que o debug não se perca, que é o que muitas vezes ocorre quando selecionamos todos os processos.

    ReplyDelete

Obrigado pelo sua colaboração!