Partager via


Bug Check 0x109 : CRITICAL_STRUCTURE_CORRUPTION

Le bug check CRITICAL_STRUCTURE_CORRUPTION a une valeur de 0x00000109. Cela indique que le noyau a détecté une corruption critique du code ou des données du noyau.

Important

Cet article s’adresse aux programmeurs. Si vous êtes un client et que vous avez reçu ce code d’erreur d’écran bleu en utilisant votre ordinateur, consultez Résoudre les erreurs d’écran bleu.

Paramètres CRITICAL_STRUCTURE_CORRUPTION

Paramètre Description

1

Reserved

2

Reserved

3

Reserved

4

Le type de la région corrompue. (Veuillez consulter le tableau ci-dessous sur cette page).

La valeur du Paramètre 4 indique le type de région corrompue.

Paramètre 4 Type de région corrompue, type de corruption ou type d’action entreprise ayant causé la corruption

0x0

Une région de données générique

0x1

Une modification de fonction

0x2

Une table de dispatch d’interruption du processeur (IDT)

0x3

Une table descripteur global du processeur (GDT)

0x4

Une corruption de liste de processus de type 1

0x5

Une corruption de liste de processus de type 2

0x6

Une modification de routine de débogage

0x7

Une modification critique de MSR

0x8

Type d'objet

0x9

Un IVT du processeur

0xA

Modification d’une fonction de service système

0xB

Une région de données de session générique

0xC

Modification d’une fonction de session ou .pdata

0xD

Modification d’une table d’importation

0xE

Modification d’une table d’importation de session

0xF

Modification d’un callout Ps Win32

0x10

Modification de routine de commutation de débogage

0x11

Modification de l’allocation IRP

0x12

Modification du dispatcher d’appel de pilote

0x13

Modification du dispatcher de complétion IRP

0x14

Modification de la désallocation IRP

0x15

Un registre de contrôle du processeur

0x16

Modification critique du registre de contrôle des points flottants

0x17

Modification du Local APIC

0x18

Modification d’un callout de notification du noyau

0x19

Modification de la liste des modules chargés

0x1A

Corruption de liste de processus de type 3

0x1B

Corruption de liste de processus de type 4

0x1C

Corruption d’objet de pilote

0x1D

Modification d’objet de rappel exécutif

0x1E

Modification du padding des modules

0x1F

Modification d’un processus protégé

0x20

Une région de données générique

0x21

Une incompatibilité de hachage de page

0x22

Une incompatibilité de hachage de page de session

0x23

Modification du répertoire de configuration de chargement

0x24

Modification de la table des fonctions inversées

0x25

Modification de la configuration de session

0x26

Un registre de contrôle étendu du processeur

0x27

Corruption de pool de type 1

0x28

Corruption de pool de type 2

0x29

Corruption de pool de type 3

0x101

Corruption générale du pool

0x102

Modification de win32k.sys

Cause

Il existe généralement trois causes différentes pour ce bug check :

  1. Un pilote a involontairement ou délibérément modifié du code ou des données critiques du noyau. Microsoft Windows Server 2003 avec Service Pack 1 (SP1) et les versions ultérieures de Windows pour ordinateurs x64 n’autorisent pas le patch du noyau, sauf via des hot patches autorisés par Microsoft.

  2. Un développeur a tenté de définir un point d’arrêt normal du noyau en utilisant un débogueur noyau qui n’était pas attaché au démarrage du système. Les points d’arrêt normaux (bp) ne peuvent être définis que si le débogueur est attaché au moment du démarrage. Les points d’arrêt processeur (ba) peuvent être définis à tout moment.

  3. Une corruption matérielle s’est produite. Par exemple, le code ou les données du noyau pourraient avoir été stockés dans une mémoire défectueuse.

Résolution

L'extension de débogage !analyze affiche des informations sur la vérification d'un bogue et peut être utile pour déterminer la cause racine.

Pour commencer, examinez la trace d’appels en utilisant la commande k, kb, kc, kd, kp, kP, kv (Afficher la trace d’appels). Vous pouvez spécifier le numéro du processeur pour examiner les piles sur tous les processeurs.

Vous pouvez également définir un point d’arrêt dans le code menant à ce code d’arrêt et essayer d’exécuter une étape à la fois dans le code défaillant.

Pour plus d'informations, consultez les rubriques suivantes :

Analyse des dumps de crash à l’aide des débogueurs Windows (WinDbg)

Si vous n’êtes pas équipé pour utiliser le débogueur Windows pour travailler sur ce problème, vous pouvez utiliser quelques techniques de dépannage de base.

  • Vérifiez le journal système dans le Visualisateur d’événements pour des messages d’erreur supplémentaires qui pourraient aider à identifier le périphérique ou le pilote qui cause ce bug check.

  • Si un pilote est identifié dans le message de bug check, désactivez le pilote ou vérifiez auprès du fabricant les mises à jour du pilote.

  • Exécutez l’outil de diagnostic de la mémoire Windows, pour tester la mémoire. Dans la zone de recherche du panneau de configuration, tapez Mémoire, puis sélectionnez Diagnostiquer les problèmes de mémoire de votre ordinateur. Après l’exécution du test, utilisez le Visualisateur d’événements pour afficher les résultats dans le journal Système. Recherchez l’entrée MemoryDiagnostics-Results pour afficher les résultats.

  • Vous pouvez essayer d’exécuter les diagnostics matériels fournis par le fabricant du système.

  • Confirmez que tout nouveau matériel installé est compatible avec la version installée de Windows. Par exemple, vous pouvez obtenir des informations sur le matériel requis sur les Spécifications de Windows 10.

  • Pour davantage d’informations concernant le dépannage, veuillez consulter la section Analyser les données d’écran bleu de vérification des bogues.