Partager via


Simulation systématique de ressources faibles

L’option de simulation de faible ressources systématique injecte des défaillances de ressources dans les pilotes en mode noyau. Cette option pénètre dans les chemins de gestion des erreurs du pilote. Tester ces chemins a toujours été très difficile. L’option de simulation de faible ressources systématique injecte des défaillances de ressources de manière prévisible, ce qui rend les problèmes qu’il trouve reproductibles. Étant donné que les chemins d’erreur sont faciles à reproduire, il permet également de vérifier facilement les correctifs apportés à ces problèmes.

Pour vous aider à déterminer la cause racine de l’erreur, une extension de débogueur est fournie qui peut vous indiquer exactement quels échecs ont été injectés et dans quel ordre.

Attention Cette option n’est pas destinée à être utilisée lorsque vous vérifiez tous les pilotes (ou un grand nombre de pilotes) sur un ordinateur. Cette option ne doit être utilisée que lorsque vous effectuez des tests ciblés de pilotes individuels ou de leurs pilotes de filtre attachés. L’utilisation de cette option sur un grand nombre de pilotes en même temps peut entraîner des résultats imprévisibles et provoquer des pannes dans les composants qui ne sont pas liés aux pilotes que vous testez.

Note Pour Windows 8.1, la fonctionnalité d’injection de défaillance basée sur la pile, disponible dans le WDK 8, a été intégrée dans le Driver Verifier. Sur les ordinateurs exécutant Windows 8.1, utilisez l’option de simulation de faibles ressources systématiques.

Lorsque l’option de simulation systématique de faible ressources est activée sur un pilote spécifique, elle intercepte certains appels de ce pilote vers le noyau et Ndis.sys. La simulation systématique de faibles ressources examine la pile des appels, en particulier la partie de la pile des appels qui provient du pilote sur lequel elle est activée. S’il s’agit de la première fois qu’elle a jamais vu cette pile, elle échouera l’appel en fonction de la sémantique de cet appel. Sinon, s’il a déjà vu cet appel, il le laissera tel quel. La simulation systématique des ressources faibles contient une logique pour traiter le fait qu’un pilote peut être chargé et déchargé plusieurs fois. Il reconnaît qu’une pile d’appels est identique même si le pilote est rechargé dans un autre emplacement de mémoire.

Activation de cette option

Vous pouvez activer la fonctionnalité de simulation systématique de faibles ressources pour un ou plusieurs pilotes à l'aide du Gestionnaire du vérificateur de pilotes ou de la ligne de commande Verifier.exe. Pour plus d’informations, consultez Sélection des options du vérificateur de pilote. Vous devez redémarrer l’ordinateur pour activer ou désactiver l’option de simulation de ressources faibles systématiques.

  • Sur la ligne de commande

    Windows 11

    Sur la ligne de commande, la simulation systématique des ressources faibles est représentée par le vérificateur /rc 19 36 ou le vérificateur /dif 19, dont les deux incluent le mode DIF requis.

    La fonctionnalité est active après le démarrage suivant, ou immédiatement si /now est ajouté à la chaîne de commande.

    Windows 10 et versions ultérieures

    Sur la ligne de commande, la simulation systématique des ressources faibles est représentée par le vérificateur /flags 0x040000 (Bit 18). Pour la simulation systématique des faibles ressources, utilisez une valeur d’indicateur de 0x040000 ou ajoutez 0x040000 à la valeur de l’indicateur. Par exemple:

    verifier /flags 0x040000 /driver MyDriver.sys
    

    La fonctionnalité sera active après le démarrage suivant.

    Généralités

    Lorsque vous activez l’option de simulation systématique de faibles ressources, vous pouvez utiliser une option de ligne de commande /faultssystematicOPTION pour contrôler davantage la simulation systématique de faibles ressources.

    Option Descriptif

    enableboottime

    Active les injections d’erreurs lors des redémarrages de l’ordinateur.

    disableboottime

    Désactive les injections d’erreurs sur les redémarrages de l’ordinateur (il s’agit du paramètre par défaut).

    enregistrerletempsd'amorçage

    Permet les injections d'erreurs en mode hypothétique à travers les redémarrages de l'ordinateur.

    resetboottime

    Désactive les injections d’erreurs sur les redémarrages de l’ordinateur et efface la liste d’exclusions de pile.

    enableruntime

    Active les injections de défaillance de manière dynamique.

    disableruntime

    Désactive dynamiquement les injections d’erreurs.

    recordruntime

    Active les injections d’erreurs dynamiquement en mode et si.

    resetruntime

    Désactive dynamiquement les injections d’erreurs et efface la liste des piles précédemment défectueuses.

    querystatistics

    Affiche les statistiques actuelles d’injection d’erreurs.

    incrémentcounter

    Incrémente le compteur de passe de test utilisé pour identifier quand une erreur a été injectée.

    getstackid COUNTER

    Récupère l’identificateur de pile injecté indiqué.

    excludestack STACKID

    Exclut la pile de l’injection d’erreurs.

  • Utilisation du Gestionnaire du Vérificateur de Pilotes

    1. Démarrez le Gestionnaire du Vérificateur de pilotes. Tapez Verifier dans une fenêtre de l'invite de commandes.
    2. Sélectionnez Créer des paramètres personnalisés (pour les développeurs de code), puis cliquez sur Suivant.
    3. Sélectionnez Sélectionner des paramètres individuels dans une liste complète.
    4. Sélectionnez (vérifier) Simulation systématique des ressources faibles.
    5. Redémarrez l'ordinateur.

Débogage des contrôles de bogues provoqués par la simulation systématique de faibles ressources

La plupart des problèmes résultant de la simulation systématique de faible ressources entraînent des contrôles de bogues. Pour déterminer la cause de ces bogues de code, les outils de débogage pour Windows fournissent l’extension du débogueur (kdexts.dll) et les symboles nécessaires.

Pour exécuter l’extension du débogueur

  • À partir de l’invite de commandes du débogueur, tapez la commande suivante :

    !verifier 0x800
    

Cela envoie des informations à votre débogueur afin de montrer les piles d’appels des échecs les plus récents injectés.