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. Le test de ces chemins a été historiquement 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 (ou une grande collection 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 forcer les blocages dans les composants non liés au ou aux pilotes que vous testez.

Remarque pour Windows 8.1, la fonctionnalité d’injection de défaillance basée sur la pile, qui était disponible dans wdK 8, a été intégrée au vérificateur de pilotes. Sur les ordinateurs exécutant Windows 8.1, utilisez l’option de simulation de faible ressources systématiques.

Lorsque l’option de simulation de faible ressources systématiques 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 des faibles ressources examine la pile des appels, en particulier à la partie de la pile des appels qui provient du pilote activé. 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 vu cet appel auparavant, il le passera à travers intouché. 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 de faible ressources systématiques 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éral

    Lorsque vous activez l’option de simulation de faible ressources systématiques, vous pouvez utiliser l’option de ligne de commande /faultssystematic OPTION pour contrôler davantage la simulation systématique des ressources faibles.

    OPTION Description

    enableboottime

    Active les injections d’erreurs sur les 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).

    recordboottime

    Active les injections d’erreurs en mode si le mode sur l’ordinateur redémarre.

    resetboottime

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

    enableruntime

    Active dynamiquement les injections d’erreurs.

    disableruntime

    Désactive dynamiquement les injections d’erreurs.

    recordruntime

    Active dynamiquement les injections d’erreurs en mode if .

    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 pilote. Tapez Le vérificateur dans une fenêtre d’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 de vérifications de bogues provoquées par la simulation systématique de ressources faibles

La plupart des problèmes détectés avec la simulation de faible ressources systématiques entraînent des vérifications de bogues. Pour déterminer la cause de ces bogues de code, les outils de débogage pour Windows fournissent l’extension de 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 vide les informations sur votre débogueur montrant les piles d’appels des échecs les plus récents injectés.