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 le vérificateur de pilote ?

Vous n’avez pas besoin de télécharger le vérificateur de pilote, car il est inclus avec la plupart des versions de Windows dans %WinDir%\system32\ comme Verifier.exe. (Le vérificateur de pilote n’est pas inclus dans 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

Exécutez le vérificateur de pilotes tout au long du développement et du test de votre pilote. Plus précisément, utilisez Driver Verifier à des fins suivantes :

  • Pour trouver des problèmes au début du cycle de développement, lorsqu’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 les pilotes de test, 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 continuerons à maintenir la prise en charge du SDV et de l’autorité de certification sur les produits plus anciens. Les partenaires sont vivement encouragés à passer en revue les exigences CodeQL pour le test du logo de l’outil statique. 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

Vous devez uniquement exécuter Driver Verifier 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 le débogage des outils, 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 le vérificateur pour ouvrir le Gestionnaire du vérificateur de pilotes.

  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.

    Option 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 souhaiterez 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 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étails 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 avez sélectionné ntoskrnl , vous pouvez 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, vous devez utiliser 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

Vous pouvez utiliser le Gestionnaire du vérificateur de pilotes ou une ligne de commande pour contrôler le vérificateur de pilotes. Pour démarrer le Gestionnaire du vérificateur de pilotes, consultez Comment démarrer le vérificateur de pilotes, 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 le vérificateur de pilote

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

    or

    À 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. Continuer à sélectionner Suivant affiche des informations supplémentaires.

or

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

verifier /query

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

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

or

À 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 les informations les plus possibles pour le débogage du problème. Lorsque vous disposez d’un débogueur de noyau connecté à un ordinateur de test qui exécute Le vérificateur de pilote et que le vérificateur de pilotes détecte une violation, Windows se décompose dans le débogueur et affiche une brève description de l’erreur.

Toutes les violations détectées par le vérificateur de pilote entraînent des case activée de bogues. Il s’agit généralement d’un 0xC4 de vérification des bogues. Pour plus d’informations, consultez 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION et vérification des bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION.

Les autres codes de case activée de bogue courants sont les 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 le bogue le plus récent case activée. 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 pilote :

  • !verifier dumps capture les statistiques du vérificateur de pilote capturées. Utilisez !vérificateur - ? 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 de blocage 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 conformité DDI case activée qui a été violée. (RuleID est toujours le premier argument du bogue case activée.) Tous les ID de règle de conformité DDI case activée ing sont sous la forme 0x200nn.

Options du vérificateur de pilotes

Syntaxe de commande du vérificateur de pilotes

Utilisation du vérificateur de pilotes

Contrôle de Driver Verifier

Conformité DDI case activée ing