[Windbg Script] Obtendo informação da pilha

Por Roberto Alexis Farah

 

Esse artigo é o primeiro sobre scripts para Windbg.

Muita gente não imagina que é possível se criar scripts para automatizar a depuração. Alguns usando DML que é um recurso sofisticado para criar hyperlinks que executam comandos quando clicados.

Tenho uma coleção que criei para me ajudar no meu trabalho diário e constantemente estou criando outros novos.

Como esse é um tópico muito específico optei por criar um blog pessoal onde colocarei uma versão em inglês do artigo, imagens e código fonte e usarei esse blog para colocar a tradução do artigo em português e o link para o fonte.

Os usuários de Windbg sabem que ele possui muitos comandos e variações. Algumas vezes podemos esquecer de algum comando específico. Isso ocorre principalmente se você usa o Windbg para depurar apenas aqueles problemas críticos que não ocorrem frequentemente.

Pensando nisso criei esse script que permite que você obtenha informações da pilha e, ao mesmo tempo, omitindo regiões de memória que não contém informação.

Portanto, você terá acesso apenas a informação relevante.

Essa informação pode ser escolhida por você via um simples click. Eis a classificação:

- Strings ANSI.

- Strings Unicode.

- Símbolos.

- Referências para ponteiros

- Variáveis locais por frame. (para isso é necessário símbolos privados do componente)

A interface é bastante simples.

Veja as instruções em inglês para saber como rodar o script que deverá ser salvo em formato .TXT

Veja as imagens e código fonte aqui:

Debugging Toolbox