Propiedades del comprobador de controladores para proyectos de paquetes de controladores
El Comprobador de controladores es una herramienta de comprobación en tiempo de ejecución que aumenta la eficacia de las pruebas de controladores. Puede habilitar y configurar el Comprobador de controladores para que se ejecute en todos los equipos de prueba al implementar el controlador para realizar pruebas.
Siempre debe configurar una conexión de depuración en modo kernel con el equipo de prueba al habilitar comprobador de controladores en el equipo de prueba remota. Para obtener información sobre cómo configurar un equipo de destino y configurar un cable de depuración, consulte Introducción con la depuración de Windows.
Establecimiento de las propiedades del comprobador de controladores para proyectos de paquetes de controladores
- Abra las páginas de propiedades del paquete de controladores. Seleccione y mantenga presionado (o haga clic con el botón derecho) en el proyecto del paquete de controladores en Explorador de soluciones y seleccione Propiedades.
- En las páginas de propiedades del paquete de controladores, seleccione Propiedades de configuración, Instalación del controlador y, después, Comprobación del controlador.
- Seleccione la opción Habilitar comprobación del controlador . Cuando se selecciona esta opción, puede seleccionar el controlador o controladores para comprobarlo en el equipo de prueba y puede seleccionar las opciones del Comprobador de controladores que se van a usar.
Configuración y plataforma del proyecto
La lista de configuración y la lista de plataformas permiten aplicar diferentes opciones de implementación para diferentes combinaciones de configuración de proyectos y plataformas. Por ejemplo, puede implementar un controlador en un equipo de prueba mediante un conjunto de opciones de implementación para las compilaciones de depuración y en un equipo de prueba diferente mediante las opciones de implementación para las compilaciones de versión.
Habilitar comprobador de controladores
Puede habilitar el Comprobador de controladores en el equipo de prueba para todos los controladores del equipo, solo para el proyecto de controlador o para una lista de controladores especificados. Por ejemplo, es posible que quiera habilitar el Comprobador de controladores para el conjunto de controladores de la pila para un dispositivo determinado.
Comprobar controladores
Especifica qué controlador o controladores comprobar en el equipo de prueba.
Todos los controladores
Especifica que el Comprobador de controladores comprueba todos los controladores instalados en el equipo de prueba remota.
Salida del proyecto
Especifica que el Comprobador de controladores comprueba el proyecto de controlador instalado en el equipo de prueba remota. Ésta es la opción predeterminada.
Lista de controladores
Especifica el controlador o la lista de controladores que comprueba el comprobador de controladores en el equipo de prueba remota. Por ejemplo, podría enumerar todos los controladores asociados a un dispositivo determinado. Especifique los controladores por nombre binario, por ejemplo, Driver.sys. Use un punto y coma para separar una lista de controladores. No se admiten valores comodín, como n*.sys, .
Marcas estándar del comprobador de controladores
Puede configurar las siguientes opciones de Comprobador de controladores en el equipo de prueba.
Comprobación de cumplimiento de DDI (Windows 8)
Cuando esta opción está activa, el Comprobador de controladores aplica un conjunto de reglas de interfaz de controlador de dispositivo (DDI) que comprueban la interacción adecuada entre un controlador y la interfaz de kernel del sistema operativo.
-
Cuando esta opción está activa, el Comprobador de controladores supervisa el uso del controlador de bloqueos de número, exclusiones mutuas y exclusiones mutuas rápidas. Esto detecta si el código del controlador tiene la posibilidad de provocar un interbloqueo en algún momento.
-
Cuando esta opción está activa, el Comprobador de controladores supervisa el uso del controlador de rutinas de acceso directo a memoria (DMA). Esto detecta el uso incorrecto de búferes de DMA, adaptadores y registros de mapa.
-
Cuando esta opción está activa, el Comprobador de controladores coloca una presión extrema de memoria en el controlador invalidando el código paginable. Si el controlador intenta acceder a la memoria paginada en el IRQL incorrecto o mientras mantiene un bloqueo de número, el Comprobador de controladores detecta este comportamiento.
-
Cuando esta opción está activa, el Comprobador de controladores asigna los paquetes de solicitud de interrupción (IRP) del controlador desde un grupo especial y supervisa el control de E/S del controlador. Esto detecta el uso ilegal o incoherente de rutinas de E/S. El Comprobador de controladores también supervisa las llamadas de varias rutinas del Administrador de E/S y realiza pruebas de esfuerzo de IRP plug-and-Play (PnP), IRP de energía e IRP de WMI.
-
Cuando esta opción está activa, el Comprobador de controladores busca causas comunes de bloqueos del controlador, como el control erróneo de la memoria libre.
-
Cuando esta opción está activa, el Comprobador de controladores comprueba si el controlador ha liberado todas sus asignaciones de memoria cuando se descarga. Esto revela pérdidas de memoria.
-
Cuando esta opción está activa, el Comprobador de controladores busca errores comunes que pueden dar lugar a vulnerabilidades de seguridad, como una referencia a direcciones en modo de usuario por rutinas de modo kernel.
Comprobación especial del grupo
Cuando esta opción está activa, el Comprobador de controladores asigna la mayoría de las solicitudes de memoria del controlador de un grupo especial. Este grupo especial se supervisa en busca de saturaciones de memoria, subrunes de memoria y memoria a la que se accede después de liberarla.
Configuración específica del escenario de comprobador de controladores
-
Cuando esta opción está activa, el comprobador de controladores produce un error aleatorio en las solicitudes de asignación de grupos y otras solicitudes de recursos. Al insertar estos errores de asignación en el sistema, el Comprobador de controladores prueba la capacidad del controlador para hacer frente a una situación de bajo recurso.
Forzar solicitudes de E/S pendientes
Cuando esta opción está activa, el Comprobador de controladores prueba la respuesta del controlador a STATUS_PENDING valores devueltos devolviendo STATUS_PENDING para llamadas aleatorias a IoCallDriver.
-
Cuando esta opción está activa, el Comprobador de controladores supervisa el uso de irP de un controlador y crea un registro de uso de IRP.
Comprobación de MDL invariable para la pila (Windows 8)
La opción Comprobación de MDL invariable para pila supervisa cómo controla el controlador los búferes MDL invariables en la pila de controladores. El comprobador de controladores puede detectar modificaciones ilegales de búferes MDL invariables. Para usar esta opción, la verificación de E/S debe estar habilitada en al menos un controlador.
Comprobación de MDL invariable para controlador (Windows 8)
La opción Comprobación de MDL invariable para controlador supervisa cómo el controlador controla los búferes MDL invariables por controlador. Esta opción detecta la modificación no válida de los búferes MDL invariables. Para usar esta opción, debe habilitar la verificación de E/S en al menos un controlador.
Pruebas aproximadas de retraso de Power Framework (Windows 8)
Cuando esta opción está activa, el comprobador de controladores aleatoriza las programaciones de subprocesos para ayudar a vaciar los errores de simultaneidad en el controlador.
Inserción de errores basada en pila (Windows 8)
La opción Inserción de errores basada en pila inserta errores de recursos en controladores en modo kernel. Esta opción usa un controlador especial, KmAutoFail.sys, junto con el Comprobador de controladores para penetrar las rutas de control de errores del controlador.
Nota No se puede combinar la inserción de errores basada en pila con simulación de recursos bajos.
Opciones del comprobador de controladores que requieren verificación de E/S
Hay cuatro opciones que requieren que primero habilite la verificación de E/S. Si la comprobación de E/S no está habilitada, estas opciones no están habilitadas.
- Forzar solicitudes de E/S pendientes
- Registro de IRP
- Comprobación de MDL invariable para la pila
- Comprobación de MDL invariable para el controlador