Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Depuração avançada para Windows: o sistema em produção parou, o que fazer?

Depuração avançada para Windows: o sistema em produção parou, o que fazer?

Palestrante: Márcio Althmann

Descrição: As técnicas apresentadas ajudam a lidar com situações em que detalhes profundos sobre o que está acontecendo podem salvar seu dia. Por exemplo, informações sobre quando determinada exceção ocorre, ou quando exatamente (e porque) o processo exige demais da CPU. Veja como criar dumps seguindo regras específicas e avançadas, utilizando ferramentas como DebugDiag, ProcDump e WinDBG.

Meetup: https://www.meetup.com/pt-BR/hackerspaceblumenau/events/265472986/
Gravação: https://www.youtube.com/watch?v=JrwF5-aK7PE

HackerSpace Blumenau

October 16, 2019
Tweet

More Decks by HackerSpace Blumenau

Other Decks in Technology

Transcript

  1. Depuração avançada para Windows Oi ☺ Márcio Fábio Althmann Arquiteto

    de Soluções @marcioalthmann www.marcioalthmann.net
  2. Depuração avançada para Windows O que fazer nesse cenário? Produção

    Homologação Sistema YYZ Versão 1.0.0 Sistema YYZ Versão 2.0.0 Sistema YYZ Versão 1.0.0
  3. Depuração avançada para Windows Dump de memória A dump file

    is a snapshot of an app at the point in time the dump is taken. It shows what process was executing and what modules were loaded. If the dump was saved with heap information, the dump file contains a snapshot of what was in the app's memory at that point in time.
  4. Depuração avançada para Windows Como criar dumps? Gerenciador de tarefas

    DebugDiag ProcDump https://www.microsoft.com/en-us/download/details.aspx?id=49924 https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
  5. Depuração avançada para Windows Exemplo de utilização do ProcDump Criar

    dump quando o processo consumir 40% da CPU por pelo menos 5 segundos procdump -c 40 -s 5 -ma pid-do-processo/nome-do-processo Criar dump quando o processo consumir 800mb de memória por pelo menos 5 segundos procdump -m 800 -s 5 -ma pid-do-processo/nome-do-processo Criar dump quando o processo disparar uma exception que contém "zero" na mensagem procdump -e 1 -f zero -ma pid-do-processo/nome-do-processo
  6. Depuração avançada para Windows WinDbg WinDbg is a kernel-mode and

    user-mode debugger that is included in Debugging Tools for Windows.
  7. Depuração avançada para Windows Alguns comandos do WinDbg Mostra todas

    as threads ~ Mostra o tempo de execução (sistema, processo, kernel, user) .time Mostra todos os processos em execução .tlist
  8. Depuração avançada para Windows SOS.dll The SOS Debugging Extension (SOS.dll)

    helps you debug managed programs in Visual Studio and in the Windows debugger (WinDbg.exe) by providing information about the internal common language runtime (CLR) environment.
  9. Depuração avançada para Windows Alguns comandos da SOS.dll Mostra todas

    as threads gerenciadas !threads Mostra a call stack gerenciada !clrstack Mostra o código IL de um método pelo Method Descriptor !dumpil <method descriptor> Mostra informações de um objeto !do <objeto>