Vérification de bogue 0xEA : THREAD_STUCK_IN_DEVICE_DRIVER

Le contrôle de bogue THREAD_STUCK_IN_DEVICE_DRIVER a la valeur 0x000000EA. Cela indique qu’un thread d’un pilote de périphérique est en cours de rotation.

Important

Cette rubrique s’adresse aux développeurs. 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 THREAD_STUCK_IN_DEVICE_DRIVER

Paramètre Description

1

Pointeur vers l’objet de thread bloqué

2

Pointeur vers l’objet DEFERRED_WATCHDOG

3

Pointeur vers le nom du pilote incriminé

4

Dans le débogueur du noyau : Nombre de fois où la vérification de bogue « interceptée » 0xEA a été atteinte

Sur l’écran bleu : 1

Cause

Un pilote de périphérique tourne dans une boucle infinie, en attendant probablement que le matériel devienne inactif.

Cela indique généralement un problème avec le matériel lui-même ou avec le pilote de périphérique qui programme le matériel de manière incorrecte. Il s’agit souvent du résultat d’une mauvaise carte vidéo ou d’un pilote d’affichage incorrect.

Résolution

Utilisez la commande . Thread (Set Register Context) avec le paramètre 1. Utilisez ensuite KB (afficher la trace de la pile) pour Rechercher l’emplacement où le thread est bloqué.

si le débogueur du noyau est déjà connecté et en cours d’exécution lorsque Windows détecte une condition de délai d’attente. Ensuite, DbgBreakPoint est appelé à la place de KeBugCheckEx. Un message détaillé est affiché dans le débogueur. Pour plus d’informations, consultez envoi de la sortie vers le débogage.

Ce message inclut les paramètres de vérification des bogues. Étant donné qu’aucune vérification de bogue n’a été effectuée, la commande . Bugcheck (afficher les données de vérification de bogue) n’est pas utile. Les quatre paramètres peuvent également être récupérés à partir des variables globales de la surveillance à l’aide de la fonction DD chien ! G_WdBugCheckData n5» sur un système 32 bits, ou dq chien ! g_WdBugCheckData n5» sur un système 64 bits.

Le débogage de cette erreur d’une manière interactive, telle que celle-ci, vous permet de trouver un thread incriminé, de définir des points d’arrêt, puis d’utiliser g (Go) pour revenir au code en rotation afin de le déboguer davantage.

Sur les ordinateurs multiprocesseurs (version 3790 ou antérieure du système d’exploitation), vous pouvez atteindre un délai d’expiration si le thread rotatif est interrompu par une interruption matérielle et si une routine ISR ou DPC est en cours d’exécution au moment de la vérification du bogue. En effet, l’élément de travail du délai d’attente peut être remis et géré sur la deuxième UC et la même fois. Si cela se produit, vous devez examiner plus en détail la pile du thread incriminé pour déterminer le code en rotation qui a provoqué l’expiration du délai. Pour ce faire, utilisez la commande DDS (afficher les mots et symboles) .