Compartilhar via


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:

  1. 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.

  2. 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.

  3. 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.