Partager via


Diagnostics du vérificateur de pilote statique

SDV dispose d’un mode diagnostic qui peut vous aider, vous et Microsoft, à résoudre les problèmes que SDV pourrait rencontrer. Lorsque le mode diagnostic est activé, SDV enregistre les messages dans une série de fichiers dans votre projet de pilote, un par étape de vérification et par règle.

Activation des diagnostics

Le mode diagnostic pour SDV (également connu sous le nom de mode débogage) ne peut actuellement être activé qu’en exécutant depuis la ligne de commande. Pour plus de détails sur l’exécution depuis la ligne de commande, veuillez consulter la section Commandes Static Driver Verifier (MSBuild).

Pour activer les diagnostics, ajoutez l’indicateur /debug après une commande /check. Par exemple :

msbuild /t:sdv /p:Inputs="/check:* /debug" mydriver.VcxProj /p:Configuration="Release" /p:Platform=x64

L’activation des diagnostics entraînera une augmentation significative de la sortie dans la fenêtre de commande, ainsi que la création de fichiers journaux spécifiques.

Comprendre les diagnostics

SDV créera plusieurs fichiers à chaque étape de l’exécution qui fourniront des détails sur cette étape. Lorsque SDV échoue en cours d’exécution, il ne créera aucun fichier de diagnostic pour les étapes ultérieures.

Les fichiers créés sont, dans l’ordre :

  • smvexecute-NormalBuild.log : Ce fichier se trouve dans le répertoire source de votre pilote et affiche la sortie de la tentative initiale de SDV de construire le pilote sans instrumentation et analyse supplémentaires.

  • smvexecute-InterceptedBuild.log : Ce fichier se trouve dans le répertoire source de votre pilote et affiche la sortie de la construction du pilote par SDV avec les hooks d’analyse ajoutés.

  • smvcl.log : Ce fichier se trouve dans le répertoire « sdv » créé dans votre projet de pilote par SDV. Il montre la sortie du compilateur de l’étape InterceptedBuild. Si vous voyez un échec dans smvexecute-InterceptedBuild.log, vous pourrez peut-être trouver des détails supplémentaires dans smvcl.log.

  • smvexecute-Scan.log : Ce fichier se trouve dans le répertoire « sdv » créé dans votre projet de pilote par SDV. Il affiche la sortie de la tentative de SDV de scanner le pilote pour trouver des points d’entrée. Une erreur ici peut indiquer qu’aucun point d’entrée n’a été trouvé et que vous devez mettre à jour vos types de rôle de fonction ou sdv-map.h. Veuillez consulter Utilisation des déclarations de type de rôle de fonction et approbation du fichier Sdv-map.h pour plus d’informations.

  • smvexecute-FinalCompile.log : Un de ces fichiers est créé pour chaque règle vérifiée par SDV et peut être trouvé dans le sous-dossier « sdv\check[nom de la règle] » que SDV crée dans votre projet de pilote. Ce fichier montre la sortie de la tentative de SDV de construire le pilote avec le modèle OS et la règle spécifique.

  • smvexecute-CheckRule.log : Un de ces fichiers est créé pour chaque règle vérifiée par SDV et peut être trouvé dans le sous-dossier « sdv\check[nom de la règle] » que SDV crée dans votre projet de pilote. Ce fichier montre la sortie de la tentative de SDV de vérifier la règle spécifiée contre votre pilote.

Vous devez rechercher le fichier correspondant à l’étape indiquée comme ayant échoué dans la sortie de commande. Si l’échec s’est produit dans les étapes FinalCompile ou CheckRule, assurez-vous de vérifier le dossier pour la règle spécifique indiquée comme ayant échoué.