[Windbg Script] Registrando chamadas de MessageBox

Por Roberto Alexis Farah

No passado trabalhei em um incidente de suporte onde precisei descobrir mensagens vindas de um MessageBox numa aplicação C++.

Como tive respostas inconsistentes dos usuários sobre o aparecimento ou não da mensagem e seu conteúdo, decidi fazer um script para ajudar nisso.

De fato, isso me ajudou muito e espero que ajude você também.

O script mapeia chamadas de MessageBox e registra as mensagens do MessageBox na tela do Windbg e em um arquivo texto.

Depois da depuração você deveria chamar “.logclose” para fechar o log. Então você pode buscar por pela ocorrência da string “ß Text from MessageBox” e você obterá todas as mensagens provenientes de MessageBox!

Você pode usar DBMon.exe ou DebugView.exe para ver as mensagens de MessageBox. Eu implementei essa feature no script original baseado nesse artigo de blog.

O script nunca foi testado em aplicações .NET, mas deveria funcionar porque MessageBox é chamado internamente por algumas chamadas do .NET Framework.

Eis as imagens e código fonte:

Debugging Toolbox.