Você está na página 1de 18

Depuração

avançada para

Windows: o sistema em

produção parou, o

que fazer?

Márcio Fábio Althmann

Depuração avançada para Windows: o sistema em produção parou, o que fazer? Márcio Fábio Althmann
Depuração avançada para Windows: o sistema em produção parou, o que fazer? Márcio Fábio Althmann

Márcio Fábio Althmann

Márcio Fábio Althmann Benner Sistemas @marcioalthmann www.marcioalthmann.net marcio@marcioalthmann.net
#Sinceramente, peço desculpas para qualquer um que der manutenção a está página. Mas por favor,

#Sinceramente, peço desculpas para qualquer um que der manutenção a está página. Mas por favor, deixe minha Mãe fora disto! Foi o jeito que sobrou para attender a demanda

manutenção a está página. Mas por favor, deixe minha Mãe fora disto! Foi o jeito que

Qual o problema aqui?

ORA-01017: invalid username/password; logon denied

O real problema?

Qual o problema aqui? ORA-01017: invalid username/password; logon denied O real problema?

Produção

Sistema YYZ 1.0.0.0
Sistema YYZ
1.0.0.0
Produção Sistema YYZ 1.0.0.0 Homologação Sistema YYZ 1.1.0.0 Sistema YYZ 1.0.0.0

Homologação

Sistema YYZ 1.1.0.0
Sistema YYZ
1.1.0.0
Sistema YYZ 1.0.0.0
Sistema YYZ
1.0.0.0

Dump

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.

Como criar dumps?

Utilizando o gerenciador de tarefas

Utilizando o DebugDiag

Utilizando o ProcDump

ProcDump

Criar dump quando o processo consumir 40% da CPU por 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 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

WinDbg

WinDbg is a kernel-mode and user-mode

debugger that is included in Debugging Tools for Windows.

O WinDbg faz parte do SDK do Windows

O WinDbg faz parte do SDK do Windows

Alguns comandos

Mostra todas as threads

~

Carrega uma extensão .load <extension>

Mostra o tempo de execução (sistema, processo, kernel e user) .time

Mostra todos os processos em execução no sistema

.tlist

Habilita a DML (Debugger Markup Language)

.prefer_dml 1

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.

Alguns comandos

Mostrar todas as threads gerenciadas

!threads

Mostrar a call stack gerenciada !clrstack

Mostrar a call stack gerenciada com os method descriptors

!dumpstack

Mostrar o código IL de um método pelo method descriptor !dumpil <methoddesc>

Mostrar informações de um objeto

!do <object>

Chega de PPT hora de conhecer o WinDbg

Obrigado!!!