Case activée 0xA de bogue : IRQL_NOT_LESS_OR_EQUAL

Le case activée de bogue IRQL_NOT_LESS_OR_EQUAL a une valeur de 0x0000000A. Ce bogue case activée indique que Microsoft Windows ou un pilote en mode noyau a accédé à la mémoire paginée à une adresse non valide alors qu’il était au niveau d’une demande d’interruption levée (IRQL). La cause est généralement un pointeur incorrect ou un problème de paginabilité.

Important

Cet article s’adresse aux programmeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de votre ordinateur, consultez Résoudre les erreurs d’écran bleu.

paramètres IRQL_NOT_LESS_OR_EQUAL

Paramètre Description
1 Adresse de mémoire virtuelle inaccessible.

Utilisez !pool sur cette adresse pour voir s’il s’agit d’un pool paginé. Les autres commandes qui peuvent être utiles pour la collecte d’informations sur l’échec sont !pte, !address et ln (Liste des symboles les plus proches).
2 IRQL au moment de l’erreur.

Valeurs :
2 - L’IRQL a été DISPATCH_LEVEL au moment de l’erreur.
3 Champ bit qui décrit l’opération à l’origine de l’erreur. Notez que le bit 3 est disponible uniquement sur les chipsets qui prennent en charge ce niveau de création de rapports.

Valeurs du bit 0 :
0 - Opération de lecture
1 - Opération d’écriture

Valeurs du bit 3 :
0 - Pas une opération d’exécution
1 - Exécuter l’opération

Valeurs combinées des bits 0 et 3 :
0x0 - Erreur lors de la tentative de lecture à partir de l’adresse dans le paramètre 1
0x1 - Erreur lors de la tentative d’ÉCRITURE dans l’adresse dans le paramètre 1
0x8 - Erreur lors de la tentative d’EXÉCUTION du code à partir de l’adresse dans le paramètre 1

Cette valeur est due à :
  • Appel d’une fonction qui ne peut pas être appelée à DISPATCH_LEVEL à DISPATCH_LEVEL.
  • Oubli de libérer un spinlock.
  • Marquage du code comme paginable lorsqu’il doit être non paginable. Par exemple, si le code acquiert un spinlock ou est appelé dans un appel de procédure différée.
4 Pointeur d’instruction au moment de l’erreur.

Utilisez la commande ln (List Nearest Symbols) sur cette adresse pour voir le nom de la fonction.

Cause

Ce bogue case activée est dû aux pilotes de périphérique en mode noyau qui utilisent des adresses incorrectes.

Ce bogue case activée indique qu’une tentative d’accès à une adresse non valide a été effectuée au niveau d’une demande d’interruption levée (IRQL). La cause est un pointeur de mémoire incorrect ou un problème de paginabilité avec le code du pilote de périphérique.

Les instructions générales que vous pouvez utiliser pour classer le type d’erreur de codage à l’origine du bogue case activée sont les suivantes :

  • Si le paramètre 1 est inférieur à 0x1000, le problème est probablement un déréférencement du pointeur NULL.

  • Si !pool signale que le paramètre 1 est un pool paginé (ou d’autres types de mémoire paginable), l’IRQL est trop élevé pour accéder à ces données. Exécutez à un IRQL inférieur ou allouez les données dans le pool non paginé.

  • Si le paramètre 3 indique que le bogue case activée était une tentative d’exécution du code paginable, l’IRQL est trop élevé pour appeler cette fonction. Exécutez à un niveau d’IRQL inférieur ou ne marquez pas le code comme paginable.

  • Il peut s’agir d’un pointeur incorrect dû à l’utilisation après l’utilisation ou au basculement de bit. Examinez la validité du paramètre 1 avec !pte, !address et ln (lister les symboles les plus proches).

Résolution

Si un débogueur de noyau est disponible, obtenez une trace de pile. Commencez par exécuter l’extension !analyser le débogueur pour afficher des informations sur le bogue case activée. L’extension !analyze peut être utile pour déterminer la cause racine. Ensuite, entrez l’une des commandes k* (backtrace de la pile d’affichage) pour afficher la pile des appels.

Collecter des informations

Examinez le nom du pilote s’il a été répertorié sur l’écran bleu.

Vérifiez l’observateur d'événements de connexion système pour rechercher d’autres messages d’erreur susceptibles d’aider à identifier le périphérique ou le pilote à l’origine de l’erreur. Recherchez les erreurs critiques dans le journal système qui se sont produites dans la même période que l’écran bleu.

Driver Verifier

Driver Verifier est un outil qui s’exécute en temps réel pour examiner le comportement des pilotes. Par exemple, Driver Verifier vérifie l’utilisation des ressources de mémoire, telles que les pools de mémoire. S’il identifie les erreurs dans l’exécution du code du pilote, il crée de manière proactive une exception pour permettre à cette partie du code du pilote d’être examinée de manière plus approfondie. Driver Verifier Manager est intégré à Windows et est disponible sur tous les PC Windows.

Pour démarrer le Gestionnaire du vérificateur de pilotes, tapez vérificateur à une invite de commandes. Vous pouvez configurer les pilotes à vérifier. Le code qui vérifie les pilotes ajoute une surcharge à mesure qu’il s’exécute. Essayez donc de vérifier le plus petit nombre de pilotes possible. Pour plus d’informations, consultez Type de débogage.

Le code suivant montre un exemple de débogage :

kd> .bugcheck       [Lists bug check data.]
Bugcheck code 0000000a
Arguments 00000000 0000001c 00000000 00000000

kd> kb [Lists the stack trace.]
ChildEBP RetAddr  Args to Child
8013ed5c 801263ba 00000000 00000000 e12ab000 NT!_DbgBreakPoint
8013eecc 801389ee 0000000a 00000000 0000001c NT!_KeBugCheckEx+0x194
8013eecc 00000000 0000000a 00000000 0000001c NT!_KiTrap0E+0x256
8013ed5c 801263ba 00000000 00000000 e12ab000
8013ef64 00000246 fe551aa1 ff690268 00000002 NT!_KeBugCheckEx+0x194

kd> kv [Lists the trap frames.]
ChildEBP RetAddr  Args to Child
8013ed5c 801263ba 00000000 00000000 e12ab000 NT!_DbgBreakPoint (FPO: [0,0,0])
8013eecc 801389ee 0000000a 00000000 0000001c NT!_KeBugCheckEx+0x194
8013eecc 00000000 0000000a 00000000 0000001c NT!_KiTrap0E+0x256 (FPO: [0,0] TrapFrame @ 8013eee8)
8013ed5c 801263ba 00000000 00000000 e12ab000
8013ef64 00000246 fe551aa1 ff690268 00000002 NT!_KeBugCheckEx+0x194

kd> .trap 8013eee8 [Gets the registers for the trap frame at the time of the fault.]
eax=dec80201 ebx=ffdff420 ecx=8013c71c edx=000003f8 esi=00000000 edi=87038e10
eip=00000000 esp=8013ef5c ebp=8013ef64 iopl=0         nv up ei pl nz na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010202
ErrCode = 00000000
00000000 ???????????????    [The current instruction pointer is NULL.]

kd> kb       [Gives the stack trace before the fault.]
ChildEBP RetAddr  Args to Child
8013ef68 fe551aa1 ff690268 00000002 fe5620d2 NT!_DbgBreakPoint
8013ef74 fe5620d2 fe5620da ff690268 80404690
NDIS!_EthFilterIndicateReceiveComplete+0x31
8013ef64 00000246 fe551aa1 ff690268 00000002 elnkii!_ElnkiiRcvInterruptDpc+0x1d0

Remarques

L’erreur qui génère ce bogue case activée se produit généralement après l’installation d’un pilote de périphérique défectueux, d’un service système ou d’un BIOS.

Si vous rencontrez un bogue case activée 0xA lors de la mise à niveau vers une version plus récente de Windows, l’erreur peut être provoquée par un pilote de périphérique, un service système, un antivirus ou un outil de sauvegarde incompatible avec la nouvelle version.

Résolution d’un problème matériel défectueux : Si du matériel a été ajouté au système récemment, supprimez-le pour voir si l’erreur se répète. Si le matériel existant a échoué, supprimez ou remplacez le composant défectueux. Exécutez les diagnostics matérielles fournies par le fabricant du système. Pour plus d’informations sur ces procédures, consultez le manuel du propriétaire de votre ordinateur.

Résolution d’un problème de service système défectueux : Désactivez le service et vérifiez si cela résout l’erreur. Si c’est le cas, contactez le fabricant du service système au sujet d’une mise à jour possible. Si l’erreur se produit lors du démarrage du système, examinez les options de réparation Windows. Pour plus d’informations, consultez Options de récupération dans Windows 10.

Résolution d’un problème logiciel antivirus : Désactivez le programme et vérifiez si cela résout l’erreur. Si c’est le cas, contactez le fabricant du programme au sujet d’une mise à jour possible.

Pour obtenir des informations générales sur la résolution des problèmes de vérification des bogues, consultez Données d’écran bleu.

Voir aussi

Informations de référence sur le code de case activée bogue