Analisar dados de tela azul de verificação de bugs
Observação
Este artigo é para programadores. Se você for um cliente que recebeu um código de erro de tela azul enquanto estava usando o computador, confira Solucionar problemas de erros de tela azul.
Observação
Se você for um profissional de TI ou agente de suporte, consulte Solução de problemas avançada para erros de parada ou tela azul para obter mais informações.
Reunir os parâmetros do código de parada
Cada código de verificação de bugs tem quatro parâmetros associados que fornecem informações. Os parâmetros são descritos em Referência de código de verificação de bugs para cada código de parada.
Há várias maneiras de reunir os quatro parâmetros do código de parada.
Examine o log do sistema do Windows no Visualizador de Eventos. As propriedades do evento para a verificação de bugs listarão os quatro parâmetros do código de parada. Para mais informações, consulte Abrir o Visualizador de Eventos..
Carregue o arquivo de despejo gerado e use o comando !analyze com o depurador anexado. Para obter mais informações, consulte Análise de um arquivo de despejo no modo kernel com o WinDbg.
Conecte um depurador de kernel ao computador com falha. Quando o código de parada ocorrer, a saída do depurador incluirá os quatro parâmetros após o valor hexadecimal do código de parada.
******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 9F, {3, ffffe000f38c06a0, fffff803c596cad0, ffffe000f46a1010} Implicit thread is now ffffe000`f4ca3040 Probably caused by : hidusb.sys
Nomes simbólicos de verificação de bugs
DRIVER_POWER_STATE_FAILURE é o nome simbólico da verificação de bugs, com um código de verificação de bugs associado de 9F. O valor hexadecimal do código de parada associado ao nome simbólico da verificação de bugs é listado na Referência do código de verificação de bugs.
Ler informações de verificação de bugs do depurador
Se um depurador estiver conectado e a depuração estiver habilitada no PC, uma verificação de bugs fará com que o computador destino invada o depurador. Nesse caso, a tela azul pode não aparecer imediatamente. Os detalhes completos sobre essa falha serão enviados ao depurador e aparecerão na janela do depurador. Para ver essas informações uma segunda vez, use o comando .bugcheck (exibir dados de verificação de bugs) ou o comando de extensão !analyze. Para obter informações sobre como habilitar a depuração, consulte Introdução ao WinDbg (modo kernel)..
Depuração do kernel e análise de despejo de falhas
A depuração do kernel é especialmente útil quando outras técnicas de solução de problemas falham ou para um problema recorrente. Lembre-se de capturar o texto exato na seção de informações de verificação de bugs da mensagem de erro. Para isolar um problema complexo e desenvolver uma solução viável, é útil registrar as ações exatas que levaram à falha.
A extensão de depuração !analyze exibe informações sobre a verificação de bugs e pode ser útil para determinar a causa raiz.
Você também pode definir um ponto de interrupção no código que leva a esse código de parada e tentar avançar uma única vez para o código de falha.
Para obter mais informações, consulte os seguintes artigos:
Análise de despejo de memória usando os depuradores do Windows (WinDbg)
Analisando um arquivo de despejo no modo kernel com o WinDbg
Usando a extensão !analyze e !analyze
As ferramentas de desfragmentação mostram
Use o verificador de driver para coletar informações
Estima-se que cerca de três quartos das telas azuis sejam causadas por falhas dos drivers. O verificador de driver é uma ferramenta que é executada em tempo real para examinar o comportamento dos drivers. Por exemplo, o Verificador de Driver verifica o uso de recursos de memória, como pools de memória. Se encontrar erros na execução do código do driver, ele cria de forma proativa uma exceção para permitir que essa parte do código do driver seja examinada mais detalhadamente. O gerenciador do verificador de driver é incorporado no Windows e está disponível em todos os PCs com Windows. Para iniciar o gerenciador do verificador de driver, insira Verifier em um prompt de comando. Você pode configurar quais drivers gostaria de verificar. O código que verifica os drivers adiciona sobrecarga à medida que é executado, portanto, tente verificar o menor número possível de drivers. Para obter mais informações, consulte Driver Verifier.
Dicas para engenheiros de software
Quando uma verificação de bugs ocorre como resultado do código que você escreveu, você deve usar o depurador do kernel para analisar o problema e, em seguida, corrigir os bugs no seu código. Para obter detalhes completos, consulte o código de verificação de bugs individual na seção Referência de código de verificação de bugs.
No entanto, você também pode encontrar verificações de bugs que não são causadas por seu próprio código. Nesse caso, você provavelmente não conseguirá corrigir a causa real do problema, portanto, sua meta deve ser contorná-lo. Se possível, isole e remova o componente de hardware ou software que está com defeito.
Muitos problemas podem ser resolvidos por meio de procedimentos básicos de solução de problemas, como a verificação das instruções, a reinstalação dos principais componentes e a verificação das datas dos arquivos. Além disso, o Visualizador de Eventos, as ferramentas de diagnóstico do Sysinternals e as ferramentas de monitoramento de rede podem isolar e resolver esses problemas.