WinDbg

– Links úteis:

PSSCOR4 – http://www.microsoft.com/en-us/download/details.aspx?id=21255

PSSCOR2 – http://www.microsoft.com/en-us/download/details.aspx?id=1073

– Variáveis de Ambiente

_NT_SYMBOL_PATH – srv*c:\myappsymbols*http://msdl.microsoft.com/download/symbols

_NT_ALT_SYMBOL_PATH – srv*c:\symbols\Public*http://msdl.microsoft.com/download/symbols

Obs.: É preciso reiniciar o Windows para que a criação das variáveis de ambiente tenha efeito.

– Cenários

Cenário 1: Processo travado.

Comando

Descrição

lm

Lista os módulos carregados pela aplicação.

Se (contém mscorwks)

     .load psscor2.dll

Senão se (contém clr.dll)

     .load psscor4.dll

Carrega o PSSCOR(X).dll em memória.

~*kb

Exibe as threads em execução.

~(X)s

Exibe os dados dos registrados da thread em execução.

(X) Número da thread.

K

Exibe a pilha da thread.

!clrstack

Exibe o stack CLR da thread.

Cenário 2: Consumo elevado de memória.

Comando

Descrição

lm

Lista os módulos carregados pela aplicação.

Se (contém mscorwks)

     .load psscor2.dll

Senão se (contém clr.dll)

     .load psscor4.dll

Carrega o PSSCOR(X).dll em memória.

!address –summary

Exibe informações resumidas sobre a memória usada pelo processo.

!dumpheap –stat

O comando dumpheap exibe todos os objetos na heap. Com o parâmetro –stat esses dados são exibidos de maneira resumida.

!dumpheap –mt <endereco>

A opção –mt lista os objetos que correspondem a um endereço específico.

!gcroot –nostacks <endereco>

Exibe informações sobre um objeto em um endereço específico. Os objetos em memória são relacionados com a tabela de handles.


Failed to load data access DLL, 0x80004005 verify that

1) you have a recent build of the debugger (6.2.14 or newer)

2) the file mscordacwks.dll that matches your version of clr.dll is in the version directory or on the symbol path

3) or, if you are debugging a dump file, verify that the file mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.

4) you are debugging on supported cross platform architecture as the dump file. For example, an ARM dump file must be debugged on an X86 or an ARM machine; an AMD64 dump file must be debugged on an AMD64 machine.

You can also run the debugger command .cordll to control the debugger’s load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload. If that succeeds, the SOS command should work on retry. If you are debugging a minidump, you need to make sure that your executable path is pointing to clr.dll as well.

Run these commands:
.effmach x86
.load wow64exts

Referências

http://blogs.msdn.com/b/tess/archive/2005/11/25/496973.aspx
http://msdn.microsoft.com/en-us/library/bb190764(v=vs.110).aspx
http://windbg.info/doc/1-common-cmds.html

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: