Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Remarque
Cette vérification est déconseillée à partir de Windows 10 Build 19042 et versions ultérieures
L’option de décalage de synchronisation du noyau permet d’aléatoirer les planifications de threads afin de détecter les bogues d’accès concurrentiel dans les pilotes.
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 Cette option est disponible à partir de Windows 8.1.
Lorsque l’option est sélectionnée, le vérificateur de pilotes insère des retards aléatoires à divers points des processus. Comme l’option Fuzzing de délai du Power Framework, l’option de fuzzing de délai de synchronisation du noyau utilise un algorithme qui permet d’aider à améliorer les chances de trouver des erreurs dans les pilotes. Le fuzzing du délai de synchronisation du noyau améliore les tests de contrainte traditionnels, où le programme de test est exécuté pendant des jours ou même des semaines afin de détecter des problèmes pouvant survenir lors d'une exécution concurrente.
Activation de cette option
Vous pouvez activer la fonctionnalité de flou de délai de synchronisation du noyau pour un ou plusieurs pilotes en utilisant le Gestionnaire du vérificateur de pilotes ou 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 de décalage de synchronisation du noyau augmente la probabilité que les conditions de concurrence apparaissent au moment de l’exécution en insérant des retards aléatoires à différents appels de fonction API du noyau. 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, le fuzzing du délai de synchronisation du noyau est représenté par verificateur /flags 0x00800000 (Bit 23). Pour activer le fuzzing différé de Power Framework, utilisez la valeur de flag 0x00800000 ou ajoutez 0x00800000 à la valeur du flag. Par exemple:
verifier /flags 0x00800000 /driver MyDriver.sysLa fonctionnalité sera active après le démarrage suivant.
Utilisation du Gestionnaire du Vérificateur de Pilotes
- Démarrez le Gestionnaire du Vérificateur de pilotes. Tapez Verifier dans une fenêtre de l'invite de commandes.
- Sélectionnez Créer des paramètres personnalisés (pour les développeurs de code), puis cliquez sur Suivant.
- Sélectionnez Sélectionner des paramètres individuels dans une liste complète.
- Sélectionnez (vérifier) Délai de synchronisation du noyau flou.
- Redémarrez l'ordinateur.
Pourquoi la synchronisation du noyau retarde-t-elle la fuzzing ?
La plupart des routines de pilotes sont réentrantes et concurrentes. Les bogues liés à la concurrence 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 pour trouver ces bogues, mais il peut être lent et coûteux, et les résultats ne sont pas toujours reproductibles. L’option de décalage de synchronisation du noyau augmente la probabilité que les conditions de concurrence apparaissent au moment de l’exécution en insérant des retards aléatoires dans différents appels de fonction API du noyau. Par exemple, si une condition de course entraîne l’accès d’un pilote à un IRP une fois qu’il a été annulé, l’option de décalage de synchronisation du noyau augmente les chances de cette condition de course de telle sorte que Driver Verifier détecte l’erreur pendant les tests. L’option de fuzzing de décalage de synchronisation du noyau renforce la puissance et l’efficacité de Driver Verifier.