Partager via


Fuzzing différé de Power Framework

Remarque

Cette vérification est déconseillée à partir de Windows 10 Build 19042 et versions ultérieures

L'option de fuzzing des retards du Power Framework randomise les ordonnancements de threads pour aider à détecter les bogues de concurrence dans les pilotes qui utilisent l'infrastructure de gestion de l'alimentation (PoFx). Cette option n’est pas recommandée pour les pilotes qui n’utilisent pas directement l’infrastructure de gestion de l’alimentation (PoFx).

Note Cette option est disponible à partir de Windows 8.

Lorsque l’option est sélectionnée, le vérificateur de pilotes insère des retards aléatoires à divers points des processus. L’option Fuzzing retard Power Framework utilise un algorithme qui fournit des garanties probabilistes pour rechercher des erreurs dans les pilotes. Power Framework Delay Fuzzing améliore les tests de contrainte traditionnels, où le programme de test est exécuté pendant des jours ou même des semaines dans l’espoir d’identifier les problèmes qui peuvent survenir lors de l’exécution simultanée.

La plupart des routines de pilotes sont réentrantes et concurrentes. Les bugs d’accès concurrentiel sont notoirement difficiles à trouver. Les bogues peuvent inclure des blocages et des situations de concurrence, causés par des problèmes de synchronisation et un mauvais timing entre les threads. Le test de stress est la technique traditionnelle de test, mais il peut être lent et coûteux, et les résultats ne sont pas toujours reproductibles. L'option de fuzzing des délais du cadre de gestion de l'alimentation augmente la probabilité d'apparition de conditions de concurrence lors de l'exécution en insérant des retards aléatoires à différents appels de fonction de l'API d'alimentation. Par exemple, si une condition de course entraîne l’accès d’un pilote à un IRP après son annulation, l'option de fuzzing avec délai du Power Framework accroît le risque de cette condition de manière à ce que le Driver Verifier détecte l’erreur pendant les tests. L’option de fuzzing de délai du Framework de gestion de l'alimentation étend la puissance et l’utilité du Vérificateur de Pilote.

Activation de cette option

Vous pouvez activer la fonctionnalité "Power Framework Delay Fuzzing" pour un ou plusieurs pilotes à l’aide du Gestionnaire de vérification des 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 fuzzing de délai du Power Framework.

Note L’option Delay Fuzzing du Power Framework augmente la probabilité que des situations de compétition apparaissent pendant l’exécution en insérant des retards aléatoires à différents appels de fonction d’API de gestion de l’alimentation. Pour que ces délais soient plus efficaces, vous pouvez activer cette option avec d'autres options de Driver Verifier. En raison des retards qui peuvent être introduits, vous pouvez vous attendre à ce que l’ordinateur ait une réponse plus lente.

  • Sur la ligne de commande

    Sur la ligne de commande, la fuzzing du délai Power Framework est représentée par le vérificateur /flags 0x00008000 (Bit 15). Pour activer le Delay Fuzzing du Power Framework, utilisez la valeur d'indicateur 0x00008000 ou ajoutez 0x00008000 à la valeur de l'indicateur. Par exemple:

    verifier /flags 0x00008000 /driver MyDriver.sys
    

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

  • 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 (cochez) Délai du cadre énergétique pour le fuzzing.
    5. Redémarrez l'ordinateur.