No último post eu demonstrei como vincular os símbolos (pdb) do ASP.NET MVC para podermos “debugar” no código fonte dele. Quem testou deve ter percebido que o debug começou a ficar com um tempo muito alto quando comparado com o modo normal, mas isso pode ser minimizado. Neste post vou demonstrar primeiro porque esse tempo fica alto e depois vamos diminui-lo.

Primeiro vamos para o ponto em que paramos no post anterior. Crie um breakpoint e quando ele parar nesse breakpoint vá nó menu Debug –> Windows –> Modules (Ctrl + D, M), veja essa janela abaixo e verifique que muitos dos símbolos carregados não serão utilizados, podemos citar como exemplo o símbolo do System.Xaml.dll que não iremos utilizar para nada:

image

Isso torna o tempo de debug muito alto, pois ele está carregando muito mais símbolos do que o necessário para o nosso problema, vamos resolver isso. Vá em Tools –> Options –> Debugger –> Symbols e ative a opção “Only specified modules”, depois clique em “Specified Modules”, então adicione a referência para a DLL do ASP.NET MVC: “System.Web.MVC.dll” (não se esqueça do .dll).

image

Dessa forma só estaremos carregando os símbolos que desejarmos.

Faça o teste novamente, crie um breakpoint e carregue a janela de módulos, você irá perceber que agora estamos carregando muito menos símbolos (veja na imagem abaixo) e que o debug vai ficar consideravelmente mais rápido.

image

Essa foi uma dica que o Igor Abade me deu e resolvi compartilhar com vocês, vou aproveitar para passar a dica que o Giovanni Bassi me passou. Para quem tem o Resharper instalado na máquina (o meu está na versão 6) pode, por exemplo, selecionar a palavra ViewBag e pressionar F12 (Go to implementation) e o Reshaper irá pedir para escolher uma das 5 opções, como a figura abaixo:

image

Se você escolher a opção “Go to .NET framework sources” ele irá fazer o download do código fonte do ASP.NET MVC e exibi-lo automaticamente para você. Uma facilidade e tanto, mas é só para quem tem o Resharper instalado.

Espero que essas dicas ajudem no dia a dia de vocês. Se conhecerem outras formas de chegar ao resultado me avisem, adorei aprender mais alguns truques.

Victor Cavalcante

Victor Cavalcante é marido da Mariana Frioli, pai do Eduardo, Microsoft MVP, trabalha com desenvolvimento web a 11 anos e é focado em padrões de desenvolvimento para web. Trabalha na Lambda3 (www.lambda3.com.br), empresa ágil que insiste em fazer software certo. É ainda professor universitário e atua no grupo .NET Architects desde seu início. Acompanhe seu twitter para saber as novidades:@vcavalcante.