Como analisar um despejo de memória no Windows após um erro de tela azul?

15

Meu computador executando o Windows 7 x64 esmaga de vez em quando. Você poderia aconselhar como analisar o despejo de memória ou apontar uma causa possível e outras etapas de solução de problemas?

O computador foi reinicializado de uma verificação de defeito. A verificação de erro foi: 0x0000003b (0x00000000c0000005, 0xfffff96000015de8, 0xfffff88007db9fb0, 0x0000000000000000). Um despejo foi salvo em: C: \ Windows \ MEMORY.DMP. ID do relatório: 080210-24819-01.

A cotação do resultado da execução do WinDbg

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - A instrução em 0x% 08lx referenciou a memória em 0x% 08lx. A memória não pôde ser% s.

...

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0x3B

PROCESS_NAME: explorer.exe

...

MODULE_NAME: win32k

IMAGE_NAME: win32k.sys

Existe alguma maneira de entender qual driver específico tem um problema?

bublegumm
fonte
Veja também - superuser.com/questions/28448/…
Nick Josevski

Respostas:

19

Eu usaria a ferramenta de depuração da Microsoft: WinDbg . Ele pode ler e analisar automaticamente despejos de memória como o seu. (O comando WinDbg é apropriadamente chamado: !analyze)

A ferramenta é poderosa, mas bastante complexa. Aqui está um guia detalhado COMO .

O mesmo fórum sugere o BlueScreenView . Eu não tentei; provavelmente é mais simples de usar, mas não fornece informações detalhadas.


atualizar:

Existe alguma maneira de entender qual driver específico tem um problema?

Depois de !analyzecorrer kou kd. Isso mostrará o rastreamento da pilha logo antes da falha. O rastreamento de pilha é a lista de chamadas de função feitas logo antes da falha, com a mais recente na parte superior. Você deve pelo menos ser capaz de aprender os nomes de arquivos dos módulos (DLLs) envolvidos.

Eu sugiro compartilhar os resultados completos !analyzee / ou o despejo de memória com pessoas que são especializadas no WinDbg e estão interessadas em ajudar. O fórum do MajorGeeks anteriormente vinculado parece um bom lugar.

Leftium
fonte
Obrigado! Você tem alguma idéia do próximo passo?
Adicionei
1
Esse tópico do MajorGeeks Forum é ótimo, oferece um bom passo a passo sobre como ler um arquivo memory.dmp.
russds
Sem um conhecimento aprofundado, tentar fazer sentido sozinho da !analyze -vsaída (e o BlueScreenView oferece principalmente isso) é quase inútil. Sugerir uma olhada na pilha de chamadas pode ser sensato no StackOverflow, mas é um pouco tolo aqui. Além disso, eu fiz minha parte da depuração de driver do Windows post-mortem e muitos dos casos não são tão claros quanto você faz.
0xC0000022L 16/04
1

Existe uma ferramenta gratuita chamada BlueScreenView , que analisa os arquivos de despejo c:\windows\minidumpe mostra janelas gráficas, para que o usuário possa identificar os erros

jacob justin
fonte
-1

Isso pode estar causando http://support.microsoft.com/kb/980932 (Use "Exibir e solicitar downloads de hotfix" na parte superior da página para solicitar o hotfix, não aplique o hotfix se não for um Firewire 1394 questão)

Caso contrário, provavelmente é um driver de vídeo que está causando isso, parece ser comum no W7, mas outro hardware também pode causar, módulos de memória defeituosos também são altamente suspeitos.

Verificação de bug 0x3B: SYSTEM_SERVICE_EXCEPTION

http://msdn.microsoft.com/en-us/library/ff558949(v=VS.85).aspx

A verificação de erro SYSTEM_SERVICE_EXCEPTION possui um valor de 0x0000003B. Isso indica que ocorreu uma exceção ao executar uma rotina que faz a transição de código não privilegiado para código privilegiado. Parâmetros

Os seguintes parâmetros são exibidos na tela azul. ParâmetroDescrição 1A exceção que causou a verificação de bug 2O endereço do registro de exceção para a exceção que causou a verificação de erro 3O endereço do registro de contexto da exceção que causou a verificação de erro 40

Causa

Esse erro foi vinculado ao uso excessivo do pool paginado e pode ocorrer devido a drivers gráficos do modo de usuário atravessarem e passarem dados incorretos para o código do kernel.

Moab
fonte