Verificação de bugs 0x109: CRITICAL_STRUCTURE_CORRUPTION
A verificação de bugs CRITICAL_STRUCTURE_CORRUPTION tem um valor de 0x00000109. Isso indica que o kernel detectou código crítico do kernel ou corrupção de dados.
Importante
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.
CRITICAL_STRUCTURE_CORRUPTION Parâmetros
Parâmetro | Descrição |
---|---|
1 |
Reserved |
2 |
Reserved |
3 |
Reserved |
4 |
O tipo da região corrompida. (Consulte a tabela mais adiante nesta página). |
O valor do Parâmetro 4 indica o tipo de região corrompida.
Parâmetro 4 | O tipo de região corrompida, tipo de corrupção ou tipo de ação executada que causou a corrupção |
---|---|
0x0 |
Uma região de dados genérica |
0x1 |
Uma modificação de função |
0x2 |
Uma tabela de despacho de interrupções do processador (IDT) |
0x3 |
Uma tabela de descritor global do processador (GDT) |
0x4 |
Uma corrupção de uma lista de processos do tipo 1 |
0x5 |
Uma corrupção de uma lista de processos do tipo 2 |
0x6 |
Uma modificação na rotina de depuração |
0x7 |
Uma modificação crítica do MSR |
0x8 |
Tipo de objeto |
0x9 |
Um processador IVT |
0xA |
Modificação de uma função de serviço do sistema |
0xB |
Uma região de dados de sessão genérica |
0xC |
Modificação de uma função de sessão ou .pdata |
0xD |
Modificação de uma tabela de importação |
0xE |
Modificação de uma tabela de importação de sessão |
0xF |
Modificação da chamada do Ps Win32 |
0x10 |
Modificação na rotina de alternância de depuração |
0x11 |
Modificação do alocador de IRP |
0x12 |
Modificação do despachante de chamadas do driver |
0x13 |
Modificação do despachante de conclusão de IRP |
0x14 |
Modificação do desalocador de IRP |
0x15 |
Um registro de controle do processador |
0x16 |
Modificação crítica do registro de controle de ponto flutuante |
0x17 |
Modificação do APIC local |
0x18 |
Modificação da chamada de notificação do kernel |
0x19 |
Modificação da lista de módulos carregados |
0x1A |
Corrupção da lista de processos do tipo 3 |
0x1B |
Corrupção da lista de processos do tipo 4 |
0x1C |
Corrupção do objeto do driver |
0x1D |
Modificação do objeto de retorno de chamada executivo |
0x1E |
Modificação do preenchimento do módulo |
0x1F |
Modificação de um processo protegido |
0x20 |
Uma região de dados genérica |
0x21 |
Uma incompatibilidade de hash de página |
0x22 |
Uma incompatibilidade de hash da página da sessão |
0x23 |
Modificação do diretório de configuração de carregamento |
0x24 |
Modificação da tabela de funções invertidas |
0x25 |
Modificação da configuração da sessão |
0x26 |
Um registro de controle estendido do processador |
0x27 |
Corrupção de pool tipo 1 |
0x28 |
Corrupção de pool tipo 2 |
0x29 |
Corrupção de pool tipo 3 |
0x101 |
Corrupção geral do pool |
0x102 |
Modificação de win32k.sys |
Causa
Geralmente, há três causas diferentes para essa verificação de bugs:
Um driver modificou inadvertidamente, ou deliberadamente, o código ou os dados críticos do kernel. O Microsoft Windows Server 2003 com Service Pack 1 (SP1) e versões posteriores do Windows para computadores baseados em x64 não permitem que o kernel seja corrigido, exceto por meio de hot patches autorizados originados pela Microsoft.
Um desenvolvedor tentou definir um ponto de interrupção normal do kernel usando um depurador de kernel que não estava conectado quando o sistema foi iniciado. Os pontos de interrupção normais (bp) só pode ser definido se o depurador estiver conectado no momento da inicialização. Os pontos de interrupção do processador (ba) podem ser definidos a qualquer momento.
Ocorreu uma corrupção de hardware. Por exemplo, o código ou os dados do kernel podem ter sido armazenados em uma memória que falhou.
Resolução
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.
Para começar, examine o rastreamento de pilha usando o comando k, kb, kc, kd, kp, kP, kv (exibir backtrace da pilha). Você pode especificar o número do processador para examinar as pilhas em todos os processadores.
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 estes tópicos:
Análise de despejo de memória usando os depuradores do Windows (WinDbg)
Se você não estiver equipado para usar o depurador do Windows para resolver esse problema, use algumas técnicas básicas de solução de problemas.
Verifique se há mensagens de erro adicionais no log do sistema no Visualizador de Eventos que possam ajudar a identificar o dispositivo ou o driver que está causando a verificação de bugs.
Se um driver for identificado na mensagem de verificação de bugs, desabilite o driver ou verifique com o fabricante se há atualizações de driver.
Execute a ferramenta de Diagnóstico de memória do Windows para testar a memória. Na caixa de pesquisa do painel de controle, digite Memory e selecione Diagnosticar problemas de memória do computador. Depois que o teste for executado, use o Visualizador de eventos para exibir os resultados no log do sistema. Procure a entrada MemoryDiagnostics-Results para exibir os resultados.
Você pode tentar executar o diagnóstico de hardware fornecido pelo fabricante do sistema.
Confirme se o novo hardware instalado é compatível com a versão instalada do Windows. Por exemplo, você pode obter informações sobre o hardware necessário em Especificações do Windows 10.
Para obter mais informações gerais sobre solução de problemas, consulte Analisar dados de tela azul de verificação de bugs.