Partager via


Vérificateur de pilotes

Driver Verifier est un outil de test Windows qui vous permet d’identifier les problèmes de pilote avant qu’ils ne provoquent des blocages ou des altérations du système. En surveillant les pilotes en mode noyau et les pilotes graphiques en temps réel, Driver Verifier détecte les appels de fonction non conformes et les actions problématiques susceptibles de déstabiliser votre système.

Que vous développiez de nouveaux pilotes ou résolvez les problèmes existants, Driver Verifier fournit les fonctionnalités de détection et de débogage précoces dont vous avez besoin pour créer des pilotes fiables et de haute qualité. Ce guide complet couvre tout, de la configuration de base aux techniques de débogage avancées.

  • Découvrez quand et pourquoi utiliser le vérificateur de pilote
  • Configurer le vérificateur de pilotes pour votre environnement de test
  • Configurer les options de vérification pour vos besoins spécifiques
  • Déboguer les violations et interpréter les résultats
  • Appliquer les meilleures pratiques pour les flux de travail de test de pilotes

Important

  • L’exécution du vérificateur de pilotes peut provoquer le blocage de l’ordinateur.
  • Exécutez uniquement Driver Verifier sur les ordinateurs que vous utilisez pour tester et déboguer.
  • Vous devez être dans le groupe Administrateurs sur l’ordinateur pour utiliser Driver Verifier.

Où puis-je obtenir le vérificateur de pilote ?

Vous n’avez pas besoin d’obtenir le vérificateur de pilote, car la plupart des versions de Windows l’incluent dans %WinDir%\system32\ as Verifier.exe. (Le vérificateur de pilotes n’est pas inclus avec Windows 10 S. Nous vous recommandons donc de tester le comportement du pilote sur Windows 10 à la place.) Le vérificateur de pilote n’est pas distribué séparément en tant que package de téléchargement.

Pour plus d’informations sur les modifications apportées à Driver Verifier pour Windows 10 et les versions précédentes de Windows, consultez Driver Verifier : Nouveautés.

Quand utiliser le vérificateur de pilotes

Utilisez le vérificateur de pilotes tout au long de votre processus de développement et de test des pilotes.

Développement précoce

  • Trouver des problèmes au début du cycle de développement lorsqu’ils sont plus faciles et moins coûteux à corriger
  • Empêcher les retards coûteux en interceptant les problèmes avant d’atteindre la production

Résolution des problèmes

  • Déboguer les échecs de test et les pannes d’ordinateurs rapidement
  • Identifier les causes racines de l’instabilité du système lié au pilote

Test et déploiement

Pour obtenir des conseils complets sur les tests de pilotes, consultez Test d’un pilote.

Important

Le programme de compatibilité matérielle Windows nécessite codeQL pour les tests STL (Static Tool Logo) sur nos systèmes d’exploitation client et serveur. Nous continuons à maintenir la prise en charge de SDV et de CA sur les produits plus anciens. Les partenaires sont vivement encouragés à passer en revue les exigences CodeQL pour le test STL (Static Tool Logo). Pour plus d’informations sur l’utilisation de CodeQL, consultez CodeQL et le test du logo Static Tools.

Guide pratique pour démarrer le vérificateur de pilotes

Exécutez Driver Verifier uniquement sur les ordinateurs de test ou sur les ordinateurs que vous testez et déboguez. Pour tirer le meilleur parti de Driver Verifier, utilisez un débogueur de noyau pour vous connecter à l’ordinateur de test. Pour plus d’informations sur les outils de débogage, consultez Outils de débogage pour Windows (WinDbg, KD, CDB, NTSD).

  1. Démarrez une fenêtre d’invite de commandes en sélectionnant Exécuter en tant qu’administrateur, puis tapez verifier pour ouvrir Driver Verifier Manager.

  2. Sélectionnez Créer des paramètres standard (la tâche par défaut), puis sélectionnez Suivant.

    Vous pouvez également choisir Créer des paramètres personnalisés à sélectionner dans des paramètres prédéfinis ou sélectionner des options individuelles. Pour plus d’informations, consultez les options du vérificateur de pilotes et les classes de règles et sélection des options du vérificateur de pilote.

  3. Sous Sélectionner les pilotes à vérifier, choisissez l’un des schémas de sélection décrits dans le tableau suivant :

    Choix Utilisation recommandée
    Sélectionner automatiquement les pilotes non signés Utile pour les tests sur les ordinateurs exécutant des versions de Windows qui ne nécessitent pas de pilotes signés.
    Sélectionner automatiquement les pilotes créés pour les versions antérieures de Windows Utile pour tester la compatibilité des pilotes avec les versions plus récentes de Windows.
    Sélectionnez automatiquement tous les pilotes installés sur cet ordinateur Fournit une couverture maximale en termes de nombre de conducteurs testés sur un système. Cette option est utile pour les scénarios de test où un pilote peut interagir avec d’autres périphériques ou pilotes sur un système.

    Cette option peut également épuiser les ressources disponibles pour un pool spécial et un suivi des ressources. Le test de tous les pilotes peut également affecter les performances du système.
    Sélectionner des noms de pilotes dans une liste Dans la plupart des cas, vous souhaitez spécifier les pilotes à tester.

    La sélection de tous les pilotes d’une pile d’appareils permet à l’option Vérification améliorée des E /S de suivre les objets et de vérifier la conformité, car un paquet de demandes d’E/S (IRP) est passé entre chacun des pilotes de la pile, ce qui permet de fournir un niveau de détail plus élevé lorsqu’une erreur est détectée.

    Sélectionnez un pilote unique si vous exécutez un scénario de test qui mesure les métriques de performances du système ou du pilote, ou si vous souhaitez allouer le plus grand nombre de ressources disponibles pour détecter les problèmes de corruption de mémoire ou de suivi des ressources (tels que des interblocages ou des mutex). Les options de vérification d’E/S et de pool spécial sont plus efficaces lorsqu’elles sont utilisées sur un pilote à la fois.
  4. Si vous avez choisi Sélectionner des noms de pilotes dans une liste, sélectionnez Suivant, puis sélectionnez un ou plusieurs pilotes spécifiques.

  5. Sélectionnez Terminer, puis redémarrez l’ordinateur.

Remarque

Lorsque vous utilisez le vérificateur de pilote avec les versions 20150 de Windows à 25126, si vous sélectionnez ntoskrnl , vous risquez de recevoir une erreur d’état non valide.
Pour éviter ce problème, désélectionnez ntoskrnl ou mettez à niveau vers une version de Windows après la build 25126.

Exécuter le vérificateur de pilote à l’invite de commandes

Vous pouvez également exécuter le vérificateur de pilotes dans une fenêtre d’invite de commandes sans démarrer le Gestionnaire du vérificateur de pilotes. Par exemple, pour exécuter Driver Verifier avec les paramètres standard sur un pilote appelé myDriver.sys, utilisez la commande suivante :

verifier /standard /driver myDriver.sys

Pour plus d’informations sur les options de ligne de commande, consultez syntaxe de commande du vérificateur de pilotes.

Guide pratique pour contrôler le vérificateur de pilotes

Choisissez votre méthode préférée pour contrôler le vérificateur de pilote :

  • Gestionnaire du vérificateur de pilotes (GUI) - Facile à utiliser pour les débutants, interface visuelle
  • Ligne de commande - Plus rapide pour les utilisateurs expérimentés, scriptable

Remarque

Pour démarrer le Gestionnaire du Vérificateur de Pilotes, consultez la section Comment démarrer le Vérificateur de pilotes.

Tâches courantes du vérificateur de pilotes

Pour chacune des actions suivantes, vous pouvez utiliser le Gestionnaire du vérificateur de pilotes ou entrer une ligne de commande.

Pour arrêter ou réinitialiser le Driver Verifier

  1. Dans le Gestionnaire du vérificateur de pilotes, sélectionnez Supprimer les paramètres existants, puis sélectionnez Terminer.

    ou

    Entrez la commande suivante à l’invite de commandes :

    verifier /reset
    
  2. Redémarrez l'ordinateur.

Pour afficher les statistiques du vérificateur de pilotes

Dans le Gestionnaire du vérificateur de pilotes, sélectionnez Afficher les informations sur les pilotes actuellement vérifiés, puis sélectionnez Suivant. Continuer à sélectionner Suivant affiche des informations supplémentaires.

ou

Entrez la commande suivante à l’invite de commandes :

verifier /query

Pour afficher les paramètres de Driver Verifier

Dans le Gestionnaire du vérificateur de pilotes, sélectionnez Afficher les paramètres existants, puis sélectionnez Suivant.

ou

Entrez la commande suivante à l’invite de commandes :

verifier /querysettings

Guide pratique pour déboguer les violations du vérificateur de pilote

Pour tirer le meilleur parti de Driver Verifier, utilisez un débogueur de noyau et connectez-le à l’ordinateur de test. Pour obtenir une vue d’ensemble des outils de débogage pour Windows, consultez Outils de débogage pour Windows (WinDbg, KD, CDB, NTSD).

Si le vérificateur de pilotes détecte une violation, il génère une vérification de bogue pour arrêter l’ordinateur. Cette action vous fournit le plus d'informations possible pour le débogage du problème. Lorsque vous connectez un débogueur de noyau à un ordinateur de test exécutant Driver Verifier et Driver Verifier détecte une violation, Windows s’insère dans le débogueur et affiche une brève description de l’erreur.

Toutes les violations détectées par le vérificateur de pilotes entraînent des vérifications de bogues. Cette vérification d'erreur est généralement une vérification de bogue 0xC4. Pour plus d'informations, consultez vérification de bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION et vérification de bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION.

Les autres codes courants de vérification des bogues incluent les codes suivants :

Pour plus d’informations, consultez Gestion d’une vérification des bogues lorsque le vérificateur de pilote est activé.

Lorsque vous démarrez une nouvelle session de débogage, utilisez la commande d’extension du débogueur , !analyze. En mode noyau, la commande !analyze affiche des informations sur la vérification des bogues la plus récente. Pour afficher des informations supplémentaires pour identifier le pilote défaillant, ajoutez l’option -v à la commande à l’invite kd> :

kd> !analyze -v

En plus de !analyze, vous pouvez entrer les extensions de débogueur suivantes à l’invite kd> pour afficher les informations spécifiques au Vérificateur de pilotes :

  • !verifier affiche les statistiques capturées du vérificateur de pilote. Utilisez !vérificateur - ? pour afficher toutes les options disponibles.

    kd> !verifier
    
  • !interblocage affiche des informations relatives aux verrous ou objets suivis par la fonctionnalité de détection d'interblocage de Driver Verifier. Utilisez !deadlock - ? pour afficher toutes les options disponibles.

    kd> !deadlock
    
  • !iovirp [adresse] affiche des informations relatives à un IRP suivi par le Vérificateur d’E/S. Par exemple:

    kd> !iovirp 947cef68
    
  • Recherchez la règle de vérification de conformité DDI qui a été violée. (RuleID est toujours le premier argument de la vérification de bogue.) Tous les ID de règle de la vérification de conformité DDI sont sous la forme 0x200nn.

Étapes suivantes

Maintenant que vous comprenez les principes de base de Driver Verifier, explorez ces rubriques connexes :

Aide Microsoft