marcar 0x7F de bugs: UNEXPECTED_KERNEL_MODE_TRAP
O bug UNEXPECTED_KERNEL_MODE_TRAP marcar tem um valor de 0x0000007F. Esse bug marcar indica que a CPU intel gerou uma interceptação e o kernel não conseguiu capturar essa interceptação.
Essa armadilha pode ser um dos seguintes tipos:
- Uma armadilha acoplada, que é uma armadilha que o kernel não tem permissão para capturar.
- Uma falha dupla, que é uma falha que ocorreu durante o processamento de uma falha anterior, o que sempre resulta em uma falha do sistema.
Importante
Este tópico é para programadores. Se você for um cliente que recebeu um código de erro de tela azul ao usar o computador, consulte Solucionar erros de tela azul.
Parâmetro 1
O primeiro parâmetro que aparece na tela azul especifica o número da interceptação.
Os números de interceptação mais comuns são os seguintes códigos:
Parâmetro | Interceptar código | Descrição |
---|---|---|
0x00000000 | Dividir por Erro Zero | Indica que uma instrução DIV é executada e o divisor é zero. Corrupção de memória, outros problemas de hardware ou falhas de software podem causar esse erro. |
0x00000004 | Estouro | Ocorre quando o processador executa uma chamada para um manipulador de interrupção quando o sinalizador de estouro (OF) é definido. |
0x00000005 | Falha de verificação de limites | Indica que o processador, ao executar uma instrução BOUND, localiza que o operando excede os limites especificados. Uma instrução BOUND garante que um índice de matriz assinada esteja dentro de um determinado intervalo. |
0x00000006 | Opcode inválido | Indica que o processador tenta executar uma instrução inválida. Esse erro normalmente ocorre quando o ponteiro de instrução está corrompido e está apontando para o local errado. A causa mais comum desse erro é a corrupção de memória de hardware. |
0x00000008 | Falha Dupla | Indica que uma exceção ocorre durante uma chamada para o manipulador para uma exceção anterior. Normalmente, as duas exceções são tratadas em série. Há várias exceções que não podem ser tratadas em série, portanto, o processador sinaliza uma falha dupla. |
Há duas causas comuns de uma falha dupla:
- A primeira causa é um estouro de pilha de kernel. Esse estouro ocorre quando uma página de proteção é atingida e o kernel tenta efetuar push de um quadro de interceptação. Como não há pilha restante, um estouro de pilha resulta, causando a dupla falha. Se você acha que essa situação ocorreu, use a extensão !thread para determinar os limites de pilha e use o comando kb (Exibir Backtrace de Pilha) com um valor grande, por exemplo, kb 100, para exibir a pilha completa.
- A segunda causa comum é um problema de hardware.
Os códigos de interceptação menos comuns incluem os seguintes valores:
- 0x00000001: uma chamada de depurador do sistema (DEBUG)
- 0x00000003: um ponto de interrupção do depurador (INT3)
- 0x00000007: uma instrução de coprocessador de hardware sem coprocessador presente (NXP_NOT_AVAILABLE)
- 0x0000000A: um segmento de estado de tarefa corrompido (INVALID_TSS)
- 0x0000000B: um acesso a um segmento de memória que não estava presente (SEGMENT_NOT_PRESENT)
- 0x0000000C: um acesso à memória além dos limites de uma pilha (STACK_FAULT)
- 0x0000000D: uma exceção não coberta por alguma outra exceção, uma falha de proteção que diz respeito a violações de acesso para aplicativos (GP_FAULT)
- 0x0000000F: uma exceção de interceptação reservada (RESERVED_TRAP)
- 0x00000010: uma exceção de coprocessador de hardware (NPX_ERROR)
- 0x00000011: uma exceção de marcar de alinhamento (ALIGNMENT_CHECK)
Para outros números de interceptação, consulte o manual de arquitetura do processador Intel para o processador que você está solucionando problemas.
Causa
Os marcar 0x7F de bugs normalmente ocorrem depois que você instala hardware com falha ou incompatível, especialmente memória ou se o hardware instalado falha.
Uma falha dupla pode ocorrer quando a pilha de kernel estoura. Esse estouro ocorrerá se vários drivers estiverem anexados à mesma pilha. Por exemplo, se dois drivers de filtro do sistema de arquivos estiverem anexados à mesma pilha e o sistema de arquivos voltar a entrar, a pilha estourará.
Depurar
Sempre comece com a extensão !analyze com a opção -v , detalhada. Examine a saída e o código com falha. Procure tendências recorrentes em vários despejos.
Depois de tentar !analisar, use o comando do depurador kv (Display Stack Backtrace ).
- Se kv mostrar um portão de tarefa, use o comando .tss (Exibir Segmento de Estado da Tarefa) na parte antes dos dois-pontos.
- Se kv mostrar um quadro de interceptação, use o comando .trap (Display Trap Frame) para formatar o quadro.
- Caso contrário, use o comando .trap (Display Trap Frame) no quadro apropriado. Em plataformas baseadas em x86, esse quadro está associado ao procedimento NT! KiTrap.
Depois de usar um desses comandos, use kv novamente para exibir a nova pilha.
Solucionar problemas
Hardware
Se você adicionou hardware recentemente ao computador, remova-o para ver se o erro se repetirá. Se o hardware existente tiver falhado, remova ou substitua o componente com falha. Execute o hardware diagnóstico que o fabricante do sistema fornece para determinar qual componente de hardware falhou.
A memória com falha ou incompatível pode causar esse bug marcar. Use o programa de diagnóstico de memória no Windows para testar toda a memória do sistema.
Confirme se todas as unidades de disco rígido e os controladores de disco rígido são compatíveis com a versão instalada do Windows.
A placa-mãe do sistema pode ter problemas, como um rastreamento arranhado ou um componente defeituoso. Uma fonte de alimentação com falha também pode causar problemas.
O overclocking está configurando a CPU para ser executada em velocidades acima da especificação classificada, o que pode causar esse erro. Se você tiver sobrecarregado o computador que está enfrentando o erro, retorne a CPU para a configuração de velocidade padrão do relógio. Desabilite o cache de memória do BIOS para tentar resolve o problema se essa opção estiver disponível.
Software
Verifique a Visualizador de Eventos de Logon do Sistema em busca de outras mensagens de erro que possam ajudar a identificar o dispositivo ou driver que está causando o erro.
Verifique a disponibilidade de atualizações para o ACPI/BIOS, o controlador de driver rígido ou os cartões de rede do fabricante do hardware.
Se o erro ocorreu após a instalação de um driver de dispositivo novo ou atualizado, remova ou substitua o driver. Se, nessa circunstância, o erro ocorrer durante a sequência de inicialização, use o Modo de Segurança para renomear ou excluir o driver com falha. Se o driver for usado como parte do processo de inicialização do sistema no Modo de Segurança, inicie o computador usando o Console de Recuperação para acessar o arquivo. Experimente a opção Última Configuração Válida Conhecida . Essa opção é mais eficaz quando você adiciona apenas um driver ou serviço por vez.
Se você encontrar esse erro durante a atualização para uma nova versão do sistema operacional Windows, o erro poderá ser causado por um software incompatível. Os exemplos incluem um driver de dispositivo, um serviço do sistema, um scanner de vírus ou uma ferramenta de backup. Se possível, remova todos os drivers de dispositivo de terceiros e os serviços do sistema e desabilite os scanners de vírus antes de atualizar. Entre em contato com o fabricante do software para obter atualizações dessas ferramentas. Além disso, verifique se você instalou as atualizações mais recentes do Windows.