Видео: отладка драйверов UMDF
В этом разделе содержится серия видеороликов Abhishek Ram, демонстрирующих отладку драйверов User-Mode Driver Framework (UMDF).
После просмотра видео вы ознакомитесь с расширениями отладчика UMDF и узнаете, как использовать их в базовых сценариях отладки.
Хотя в видео демонстрируется отладка драйвера UMDF версии 1 в более ранних версиях Windows, вы по-прежнему можете использовать те же методы с драйвером UMDF версии 2, работающим в текущих версиях Windows.
Примечание В этом видео описываются команды расширения отладчика в Wudfext.dll, которые можно использовать только для отладки драйверов UMDF версии 1. Для отладки драйверов UMDF, начиная с UMDF версии 2.0, необходимо использовать библиотеку расширения отладчика Wdfkd.dll. В Wdfkd.dll есть эквиваленты для всех расширений в Wudfext.dll. Дополнительные сведения см. в разделах Сводка расширений отладчика в Wudfext.dll и Сводка расширений отладчика в Wdfkd.dll.
Дополнительные сведения об отладке UMDF см. в разделах, перечисленных в разделе Отладка драйверов WDF.
Предварительные требования
Чтобы максимально эффективно использовать это содержимое, вы должны иметь опыт работы с UMDF и средствами отладки для Windows. Так как каждый сеанс основан на предыдущем, рекомендуется просматривать эти демонстрации в указанном порядке.
Основные сведения и настройка
Рассматривается использование примеров WDK и комплекта обучения OSR USB-FX2.
В этом видео вы узнаете об основах отладки UMDF, включая подготовку тестового компьютера, использование средства Devcon для установки примера драйвера UMDF Echo, использование WdfVerifier для определения хост-процесса, в котором размещен данный драйвер UMDF, и использование WdfVerifier для присоединения хост-процесса к отладчику вовремя для отладки кода инициализации. В этом видео также показано, как получить список запущенных хост-процессов в диспетчере задач и просмотреть работающие драйверы в диспетчер устройств.
Изучение иерархии объектов с помощью расширений отладчика
В этой части вы узнаете, как начать отладку драйвера UMDF. В этом видео показано, как настроить пример драйвера OSR USB-FX2 и пример приложения, чтобы три экземпляра приложения отправляли драйверу запросы на управление чтением, записью и вводом-выводом устройства. Вы увидите, как запросы сначала передаются в отражатель, а затем в процесс узла драйвера пользовательского режима. В этом видео представлена иерархия объектов WDF для примера драйвера FX2 и рассматривается использование следующих расширений отладчика UMDF для обхода иерархии объектов UMDF:
Сведения о UMDF 2 см. в разделе Сводка расширений отладчика в Wdfkd.dll, например !wdfkd.wdfumdevstacks.
Доступ к usb-объектам платформы
Здесь вы узнаете, как изучить USB-объекты платформы драйвера. Для этого вы перейдете по иерархии объектов WDF, чтобы получить доступ к объектам USB-канала, объектам интерфейса USB и целевым объектам USB-ввода-вывода.
Запросы и очереди ввода-вывода
В этом видео вы будете использовать отладчик для изучения объектов запросов на ввод-вывод платформы драйвера и объектов очередей платформы.
Объекты файлов и объекты обратного вызова
В этой части вы узнаете, как изучить объекты файлов платформы, а также объекты обратного вызова драйвера.
Отслеживание запросов ввода-вывода, отправленных драйвером UMDF
Здесь вы узнаете, как использовать средство проверки приложений для отладки. Вы также узнаете, как отладить код инициализации драйвера и как отслеживать запросы, отправленные драйвером UMDF в стек ядра ниже.
Драйвер не выполняет запрос ввода-вывода
В последнем видео вы изучите случай, когда драйвер UMDF не выполняет полученный запрос, и узнаете о возможностях отслеживания объектов и ссылок на платформу.