Partilhar via


Analise dados de verificação de bugs (erro de código de parada)

Note

Este artigo é para programadores. Se você for um cliente que recebeu um erro de código de parada ao usar seu computador, consulte Solucionar problemas de erros de código de parada.

Note

Se você for um profissional de TI ou agente de suporte, consulte Solução de problemas avançada para erros de código de parada para obter mais informações.

Reúna os parâmetros do código de parada

Cada código de verificação de bug tem quatro parâmetros associados que fornecem informações. Os parâmetros são descritos em Bug check code reference para cada código stop.

Há várias maneiras de reunir os quatro parâmetros de código de parada.

  • Examine o log do sistema Windows no Visualizador de Eventos. As propriedades do evento para a verificação de bug listarão os quatro parâmetros de código de parada.

  • Load the generated dump file and use the !analyze command with the debugger attached. Para obter mais informações, consulte Analisando um arquivo de despejo de modo kernel com o WinDbg.

  • Anexe um depurador do kernel ao PC com falha. Quando o código stop ocorre, a saída do depurador incluirá os quatro parâmetros após o valor hexadecimal do código stop.

    *******************************************************************************
    *                                                                             *
    *                        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 is the bug check symbolic name, with an associated bug check code of 9F. O valor hexadecimal do código de parada associado ao nome simbólico de verificação de bug está listado na referência de código de verificação de bug.

Leia as informações de verificação de bugs do depurador

Se um depurador estiver anexado e a depuração estiver habilitada no PC, uma verificação de bug fará com que o computador de destino invada o depurador. Nesse caso, o erro de código de parada pode não aparecer imediatamente. Os detalhes completos sobre essa falha serão enviados para o 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 !analyze extension. Para obter informações sobre como habilitar a depuração, consulte Introdução ao WinDbg (Kernel-Mode).

Depuração do kernel e análise de despejo de memória

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 bug da mensagem de erro. Para isolar um problema complexo e desenvolver uma solução viável, é útil registrar as ações exatas que levam à falha.

The !analyze debug extension displays information about the bug check and can be helpful in determining the root cause.

Você também pode definir um ponto de interrupção no código que leva a esse código de parada e tentar dar um único passo à frente no código com 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 de modo kernel com 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 dos erros de código de parada são causados por drivers defeituosos. Driver Verifier é 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 ele encontrar erros na execução do código do driver, ele proativamente criará uma exceção para permitir que essa parte do código do driver seja examinada posteriormente. O gerenciador de verificador de driver está integrado ao Windows e está disponível em todos os PCs com Windows. To start the driver verifier manager, enter Verifier at a command prompt. Você pode configurar quais drivers você 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. For more information, see Driver Verifier.

Dicas para engenheiros de software

Quando uma verificação de bug 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 em seu código. Para obter detalhes completos, consulte o código de verificação de bug individual na seção Referência de código de verificação de bug .

No entanto, você também pode encontrar verificações de bugs que não são causadas pelo seu próprio código. Nesse caso, você provavelmente não será capaz de corrigir a causa real do problema, então seu objetivo deve ser contornar o problema. Se possível, isole e remova o componente de hardware ou software que está em falta.

Muitos problemas podem ser resolvidos por meio de procedimentos básicos de solução de problemas, como a verificação de instruções, a reinstalação de componentes-chave e a verificação de datas de arquivos. Além disso, o Visualizador de Eventos, as ferramentas de diagnóstico Sysinternals e as ferramentas de monitoramento de rede podem isolar e resolver esses problemas.

See also