Partager via


0x18 de vérification des bogues : REFERENCE_BY_POINTER

Le case activée de bogue REFERENCE_BY_POINTER a une valeur de 0x00000018. Cela indique que le nombre de références d’un objet n’est pas conforme à l’état actuel de l’objet.

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 REFERENCE_BY_POINTER

Paramètre Description

1

Type d’objet de l’objet dont le nombre de références est réduit.

2

Objet dont le nombre de références est réduit.

3

Réservé

4

Réservé

Cause

Le nombre de références d’un objet n’est pas valide pour l’état actuel de l’objet. Chaque fois qu’un pilote utilise un pointeur vers un objet, celui-ci appelle une routine de noyau pour augmenter le nombre de références de l’objet d’un. Lorsque le pilote a terminé avec le pointeur, le pilote appelle une autre routine de noyau pour réduire le nombre de références d’un.

Les pilotes doivent faire correspondre les appels aux routines qui augmentent (référence) et diminuent (déréférencement) le nombre de références. Ce bogue case activée est dû à une incohérence dans le nombre de références de l’objet. En règle générale, l’incohérence est due à un pilote qui diminue trop souvent le nombre de références d’un objet, ce qui effectue des appels supplémentaires qui déréférencent l’objet. Ce bogue case activée peut se produire, car le nombre de références d’un objet passe à zéro alors qu’il existe encore des handles ouverts pour l’objet. Cela peut également se produire lorsque le nombre de références de l’objet descend en dessous de zéro, qu’il existe ou non des poignées ouvertes pour l’objet.

Résolution

Assurez-vous que le pilote correspond aux appels aux routines qui augmentent et diminuent le nombre de références de l’objet. Assurez-vous que votre pilote n’effectue pas d’appels supplémentaires aux routines qui déréférencent l’objet (voir Paramètre 2).

Vous pouvez utiliser un débogueur pour vous aider à analyser ce problème. Pour plus d’informations, consultez Analyse du vidage sur incident à l’aide des débogueurs Windows (WinDbg). L’extension de débogage !analyze affiche des informations sur le bogue case activée et peut être utile pour déterminer la cause racine.

Pour rechercher le nombre de poignées et de pointeurs sur l’objet, utilisez la commande !object debugger.

kd> !adresse de l’objet

address est l’adresse de l’objet donné dans le paramètre 2.

Vous pouvez également définir un point d’arrêt dans le code menant à ce code d’arrêt et tenter d’avancer de manière unique dans le code d’erreur.

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

  • Vérifiez la observateur d'événements de connexion système pour obtenir des messages d’erreur supplémentaires susceptibles d’aider à identifier le périphérique ou le pilote à l’origine de ce bogue case activée.

  • Si un pilote est identifié dans un message de vérification d’erreur, désactivez-le ou contactez le fabricant pour obtenir les mises à jour.

  • Vérifiez 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 dans Windows 10 Spécifications.

  • Pour plus d’informations générales sur la résolution des problèmes, consultez Données écran bleu.