Encontro com o guru John Robbins e comentários sobre novo livro

Encontro com o guru John Robbins e comentários sobre novo livro

Por: Roberto Farah

Para os que não conhecem John Robbins é uma das maiores autoridades em depuração de código. Particularmente muito do que aprendi foram com os livros dele e, de fato, fazemos o mesmo tipo de trabalho, passamos a maior parte do tempo depurando aplicações e outra parte do tempo (noites e finais de semana J ) fazendo ferramentas. Por ferramentas me refiro utilitários (como o Sherlock mencionado no artigo anterior), para ajudar engenheiros da Microsoft e clientes com a resolução de problemas.

Pois bem, ano passado tive a honra de ser convidado por John para ser um dos revisores oficiais do seu novo livro. Definitivamente, uma ótima oportunidade de aprender mais e em primeiríssima mão.

Foi um encontro bem interessante. Conversamos muito sobre bugs, depuração de managed code, estratégias de debugging, e claro, sobre os novos capítulos do novo livro a ser lançado em breve: Debugging, Tuning, And Testing Microsoft .net 2.0 Applications.

Pois bem, eis algumas coisas que podemos esperar do novo livro:

- Ao contrário do volume anterior que ensinava depuração de código nativo e gerenciado (managed code) esse novo livro é focado apenas em Managed Code. Antes que me perguntem, talvez (sim, apenas talvez) venha outro livro após esse apenas sobre depuração em código nativo. A decisão foi tomada em função do grande volume de informação de depuração em .NET.

- Em comparação com o livro anterior esse vai muito mais a fundo na questão de depuração de código .NET e há muita coisa sobre a nova versão da SOS.DLL, incluindo uma abordagem mais profunda sobre essa parte do que no livro anterior.

- A parte de testes é enfocada nesse volume, incluindo o uso das features do Visual Studio 2005 para se efetuar testes variados. Achei ótimo isso pois teste é uma parte fundamental do desenvolvimento, mas as vezes ignorada ou menosprezada. Com o Visual Studio 2005 tudo fica mais fácil.

- Features do Visual Studio 2005, como análise de código, são explicadas, com comentários sobre como utilizar o .NET Framework para diagnosticar bugs mais facilmente e como utilizar o ambiente do Visual Studio para este mesmo objetivo.

- Cobertura mais abrangente sobre como configurar a infra-estrutura para depuração: servidor de símbolos, ADPlus, WinDbg, extensões, etc. Em comparação com o livro anterior essa parte ficou muito mais didática.

- Novos comandos do WinDbg que são úteis para depuração de native e managed code.

- Aplicações que demonstram como usar a extensão SOS.DLL para isolar problemas. Ou seja, além da explicação sobre os comandos há exemplos práticos mostrando como e quando usar esses comandos para diagnosticar hangs por deadlock, crashes e outros.

- Uma quantidade maior de código ‘disassemblado’ e explicações sobre isso. Em minha opinião é algo fundamental, pois uma das coisas que mais fazemos ao depurar código nativo ou managed é ‘disassemblá-lo’.

- Inclui depuração em código 64 bits.

- Novas ferramentas voltadas para troubleshooting de aplicações .NET.

- Maior detalhamento sobre o processo investigativo de depurar código. Também fundamental, principalmente para aqueles acostumados ao uso de força-bruta para isolar problemas de aplicações.

- Cobertura dos contadores do Performance Monitor usados no monitoramento de aplicações .NET para identificar gargalos de memória, exceções, vazamento de handles, etc.

- Mais WinDbg + SOS.dll. J

Como o livro está em andamento, alguns dos tópicos acima ainda podem ser modificados. Há mais tópicos sendo criados também. Conforme informações passadas pelo autor, acredito que em meados de julho o livro deverá estar pronto. Recomendo esse livro para qualquer desenvolvedor interessado em aprender mais sobre depuração de código .NET e avaliação de performance.

No próximo artigo colocarei algo técnico. Falarei sobre um lado não explorado da ferramenta DebugDiag: como criar scripts para analisar dumps das suas próprias aplicações.

Vejo vocês no próximo artigo. J

Roberto Farah