Vidéos : Débogage des pilotes UMDF
Cette rubrique contient une série de vidéos d’Abhishek Ram qui montrent comment déboguer User-Mode pilotes UMDF (Driver Framework).
Après avoir regardé les vidéos, vous serez familiarisé avec les extensions de débogueur UMDF et savez comment les utiliser dans les scénarios de débogage de base.
Bien que les vidéos montrent le débogage d’un pilote UMDF version 1 sur des versions antérieures de Windows, vous pouvez toujours utiliser les mêmes techniques avec un pilote UMDF version 2 s’exécutant sur les versions actuelles de Windows.
Note Cette vidéo décrit les commandes d’extension de débogueur dans Wudfext.dll, que vous pouvez utiliser pour déboguer uniquement les pilotes UMDF version 1. Pour déboguer les pilotes UMDF à partir d’UMDF version 2.0, vous devez utiliser la bibliothèque d’extensions Wdfkd.dll débogueur. Il existe des équivalents dans Wdfkd.dll pour toutes les extensions dans Wudfext.dll. Pour plus d’informations, consultez Résumé des extensions de débogueur dans Wudfext.dll et Résumé des extensions de débogueur dans Wdfkd.dll.
Pour plus d’informations sur le débogage d’UMDF, consultez les rubriques répertoriées dans Débogage des pilotes WDF.
Prérequis
Pour tirer le meilleur parti de ce contenu, vous devez avoir des connaissances pratiques sur UMDF et les outils de débogage pour Windows. Étant donné que chaque session s’appuie sur la précédente, nous vous recommandons d’afficher ces démonstrations dans l’ordre indiqué.
Notions de base et configuration
Décrit l’utilisation des exemples WDK et du kit d’apprentissage OSR USB-FX2.
Dans cette vidéo, vous allez découvrir les principes de base du débogage UMDF, notamment la préparation de votre machine de test, l’utilisation de l’outil Devcon pour installer l’exemple de pilote UMDF Echo, l’utilisation de WdfVerifier pour identifier le processus hôte hébergeant un pilote UMDF donné et l’utilisation de WdfVerifier pour attacher le processus hôte au débogueur à temps pour déboguer le code d’initialisation. Cette vidéo montre également comment répertorier les processus hôtes en cours d’exécution dans le Gestionnaire des tâches et afficher les pilotes en cours d’exécution dans Gestionnaire de périphériques.
Examen de la hiérarchie d’objets avec des extensions de débogueur
Dans cette partie, vous allez apprendre à commencer à déboguer un pilote UMDF. La vidéo explique comment configurer l’exemple de pilote USB-FX2 OSR et l’exemple d’application afin que trois instances de l’application envoient des demandes de contrôle de lecture, d’écriture et d’E/S de périphérique au pilote. Vous verrez comment les requêtes sont transmises d’abord au réflecteur, puis au processus hôte du pilote en mode utilisateur. Cette vidéo présente la hiérarchie d’objets WDF pour l’exemple de pilote FX2 et explique comment utiliser les extensions de débogueur UMDF suivantes pour parcourir la hiérarchie d’objets UMDF :
Pour UMDF 2, consultez Résumé des extensions de débogueur dans Wdfkd.dll, par exemple !wdfkd.wdfumdevstacks.
Accès aux objets USB du framework
Ici, vous allez apprendre à examiner les objets USB du framework du pilote. Pour ce faire, vous allez parcourir la hiérarchie d’objets WDF pour atteindre les objets de canal USB, les objets d’interface USB et les objets cibles d’E/S USB.
Demandes et files d’attente d’E/S
Dans cette vidéo, vous allez utiliser le débogueur pour examiner les objets de requête d’E/S du framework du pilote et les objets de file d’attente de l’infrastructure.
Objets file et objets de rappel
Dans cette partie, vous allez apprendre à examiner les objets de fichier d’infrastructure ainsi que les objets de rappel du pilote.
Suivi des demandes d’E/S envoyées par un pilote UMDF
Ici, vous allez apprendre à utiliser l’outil Vérificateur d’application pour vous aider à déboguer. Vous allez également apprendre à déboguer le code d’initialisation du pilote et à suivre les demandes envoyées par un pilote UMDF à la pile du noyau ci-dessous.
Le pilote ne termine pas une demande d’E/S
Dans la vidéo finale, vous allez examiner un cas où un pilote UMDF ne termine pas une demande qu’il a reçue, et vous allez découvrir les fonctionnalités de suivi des objets et de suivi des références de l’infrastructure.