Driver Verifier

Driver Verifier analyse les pilotes en mode noyau Windows et les pilotes graphiques pour détecter les appels ou actions de fonction non autorisés susceptibles d’endommager le système. Driver Verifier peut soumettre les pilotes Windows à divers stress et tests pour trouver un comportement incorrect. Vous pouvez configurer les tests à exécuter, ce qui vous permet de faire subir à un pilote des charges de contraintes lourdes ou via des tests plus rationalisés. Vous pouvez également exécuter Driver Verifier sur plusieurs pilotes simultanément ou sur un pilote à la fois.

Attention

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

Où puis-je télécharger Driver Verifier ?

Vous n’avez pas besoin de télécharger Driver Verifier, car il est inclus dans la plupart des versions de Windows dans %WinDir%\system32\ en tant que Verifier.exe. (Le vérificateur de pilotes n’étant pas inclus dans Windows 10 S, nous vous recommandons de tester le comportement du pilote sur Windows 10.) Driver Verifier 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 Driver Verifier

Exécutez Driver Verifier tout au long du développement et du test de votre pilote. Plus spécifiquement, utilisez Driver Verifier aux fins suivantes :

  • Pour trouver les problèmes au début du cycle de développement, quand ils sont plus faciles et moins coûteux à corriger.

  • Pour la résolution des problèmes et le débogage des échecs de test et des incidents d’ordinateur.

  • Pour surveiller le comportement lorsque vous déployez un pilote à des fins de test à l’aide de WDK, Visual Studio et des tests du Kit de laboratoire matériel Windows (Windows HLK) ou du Kit de certification matérielle Windows (pour Windows 8.1). Pour plus d’informations sur le test des pilotes, consultez Test d’un pilote.

Guide pratique pour démarrer Driver Verifier

Vous devez exécuter 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, vous devez utiliser un débogueur de noyau et 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 vérificateur pour ouvrir le Gestionnaire du vérificateur de pilotes.

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

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

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

    Option Utilisation recommandée
    Sélectionner automatiquement les pilotes non signés

    Utile pour les tests sur les ordinateurs qui exécutent 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électionner automatiquement tous les pilotes installés sur cet ordinateur

    Fournit une couverture maximale en termes de nombre de pilotes 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 le pool spécial et le suivi de certaines ressources. Le test de tous les pilotes peut également nuire aux performances du système.

    Sélectionner des noms de pilotes dans une liste

    Dans la plupart des cas, vous devez spécifier les pilotes à tester.

    La sélection de tous les pilotes dans une pile d’appareils permet à l’option Vérification d’E/S améliorée de suivre les objets et d’case activée 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 plus grand niveau de détail en cas d’erreur.

    Sélectionnez un seul pilote 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 d’altération de la mémoire ou de suivi des ressources (tels que les interblocages ou les mutex). Les options de pool spécial et de vérification des E/S 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.

Notes

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

Exécuter le vérificateur de pilote à une invite de commandes

Vous pouvez également exécuter Driver Verifier dans une fenêtre d’invite de commandes sans démarrer le Gestionnaire de 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.

Comment contrôler driver verifier

Vous pouvez utiliser le Gestionnaire du vérificateur de pilotes ou une ligne de commande pour contrôler Driver Verifier. Pour démarrer le Gestionnaire du vérificateur de pilotes, consultez Guide pratique pour démarrer Driver Verifier, plus haut dans cette rubrique.

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 driver verifier

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

    ou

    À l’invite de commandes, tapez la commande suivante :

    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. Le fait de continuer à sélectionner Suivant affiche des informations supplémentaires.

ou

À l’invite de commandes, tapez la commande suivante :

verifier /query

Pour afficher les paramètres du vérificateur de pilotes

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

ou

À l’invite de commandes, tapez la commande suivante :

verifier /querysettings

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

Pour tirer le meilleur parti de Driver Verifier, vous devez utiliser un débogueur de noyau et le connecter à 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 un bogue case activée pour arrêter l’ordinateur. Il s’agit de vous fournir le plus d’informations possibles pour le débogage du problème. Lorsque vous avez un débogueur de noyau connecté à un ordinateur de test qui exécute Driver Verifier et que 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 Driver Verifier entraînent des vérifications de bogues. Il s’agit généralement d’un 0xC4 de vérification de bogues. Pour plus d’informations, consultez Débogage des 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION et Vérification des bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION.

Voici d’autres codes de case activée de bogues courants :

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

Lorsque vous démarrez une nouvelle session de débogage, utilisez la commande d’extension de débogueur ! analyze. En mode noyau, la commande !analyze affiche des informations sur les case activée de bogues les plus récents. Pour afficher des informations supplémentaires , afin d’identifier le pilote en panne, 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 des informations spécifiques à Driver Verifier :

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

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

    kd> !deadlock
    
  • !iovirp [address] 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 du bogue case activée.) Tous les ID de règle de la vérification de conformité DDI sont au format 0x200nn.

Options du vérificateur de pilote

Syntaxe de la commande du vérificateur de pilote

Utilisation du vérificateur de pilote

Contrôle de Driver Verifier

Vérification de la conformité DDI