Compartir a través de


Vídeos: Depuración de controladores UMDF

Este tema contiene una serie de vídeos de Abhishek Ram que muestran cómo depurar controladores User-Mode Driver Framework (UMDF).

Después de ver los vídeos, estará familiarizado con las extensiones del depurador de UMDF y sabrá cómo usarlas en escenarios de depuración básicos.

Aunque los vídeos muestran la depuración de un controlador UMDF versión 1 en versiones anteriores de Windows, todavía puede usar las mismas técnicas con un controlador UMDF versión 2 que se ejecuta en las versiones actuales de Windows.

Nota En este vídeo se describen los comandos de extensión del depurador en Wudfext.dll, que puede usar para depurar solo controladores de la versión 1 de UMDF. Para depurar controladores UMDF a partir de la versión 2.0 de UMDF, debe usar la biblioteca de extensiones del depurador de Wdfkd.dll. Hay equivalentes en Wdfkd.dll para todas las extensiones de Wudfext.dll. Para obtener más información, vea Resumen de las extensiones del depurador en Wudfext.dll y Resumen de extensiones del depurador en Wdfkd.dll.

Para obtener más información sobre la depuración de UMDF, consulte los temas enumerados en Depuración de controladores WDF.

Requisitos previos

Para sacar el máximo partido de este contenido, debe tener conocimientos prácticos de UMDF y las Herramientas de depuración para Windows. Dado que cada sesión se basa en la anterior, se recomienda ver estas demostraciones en el orden indicado.

Conceptos básicos y configuración

Describe el uso de los ejemplos de WDK y el kit de aprendizaje USB-FX2 de OSR.

En este vídeo, obtendrá información sobre los conceptos básicos de depuración de UMDF, incluida la preparación de la máquina de prueba, mediante la herramienta Devcon para instalar el controlador de ejemplo de ECO de UMDF, mediante WdfVerifier para identificar el proceso de host que hospeda un controlador UMDF determinado y el uso de WdfVerifier para asociar el proceso de host al depurador en tiempo para depurar el código de inicialización. En este vídeo también se muestra cómo puede enumerar los procesos de host en ejecución en el Administrador de tareas y ver controladores en ejecución en Administrador de dispositivos.

Examen de la jerarquía de objetos con extensiones del depurador

En esta parte, aprenderá a iniciar la depuración de un controlador UMDF. En el vídeo se describe cómo configurar el ejemplo de controlador USB-FX2 de OSR y el ejemplo de aplicación para que tres instancias de la aplicación envíen solicitudes de control de E/S de lectura, escritura y dispositivo al controlador. Verá cómo fluyen primero las solicitudes al reflector y, a continuación, al proceso host del controlador en modo de usuario. En este vídeo se presenta la jerarquía de objetos WDF para el ejemplo del controlador FX2 y se explica cómo usar las siguientes extensiones del depurador de UMDF para recorrer la jerarquía de objetos umdf:

Para UMDF 2, vea Resumen de extensiones del depurador en Wdfkd.dll, por ejemplo !wdfkd.wdfumdevstacks.

Acceso a objetos USB del marco

Aquí aprenderá a examinar los objetos USB del marco del controlador. Para ello, navegará por el objeto WDF hiearchy para llegar a los objetos de canalización USB, los objetos de interfaz USB y los objetos de destino de E/S USB.

Solicitudes y colas de E/S

En este vídeo, usará el depurador para examinar los objetos de solicitud de E/S del marco del controlador y los objetos de cola del marco de trabajo.

Objetos de archivo y objetos de devolución de llamada

En esta parte, aprenderá a examinar objetos de archivo de marco, así como a los objetos de devolución de llamada del controlador.

Seguimiento de solicitudes de E/S enviadas por un controlador UMDF

Aquí aprenderá a usar la herramienta Comprobador de aplicaciones para ayudarle a depurar. También aprenderá a depurar el código de inicialización del controlador y a realizar un seguimiento de las solicitudes enviadas por un controlador UMDF a la pila del kernel siguiente.

El controlador no completa una solicitud de E/S

En el vídeo final, investigará un caso cuando un controlador UMDF no complete una solicitud recibida y obtendrá información sobre las funcionalidades de seguimiento de objetos y seguimiento de referencias del marco.