Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El comprobador de controladores es una herramienta de prueba de Windows que ayuda a identificar los problemas del controlador antes de que causen bloqueos del sistema o daños. Al supervisar controladores de modo kernel y controladores gráficos en tiempo real, El comprobador de controladores detecta llamadas de función no válidas y acciones problemáticas que podrían desestabilizar el sistema.
Tanto si está desarrollando nuevos controladores como si está solucionando problemas existentes, el Comprobador de controladores proporciona las funcionalidades de detección y depuración tempranas que necesita para crear controladores confiables y de alta calidad. Esta guía completa abarca todo, desde la configuración básica hasta las técnicas de depuración avanzadas.
- Obtenga información sobre cuándo y por qué usar el comprobador de controladores
- Configuración del comprobador de controladores para el entorno de prueba
- Configuración de opciones de comprobación para sus necesidades específicas
- Depuración de infracciones e interpretación de los resultados
- Aplica mejores prácticas para los flujos de trabajo de prueba de controladores
Importante
- La ejecución del Comprobador de controladores podría provocar que el equipo se bloquee.
- Ejecute solo el Comprobador de controladores en equipos que use para probar y depurar.
- Debe estar en el grupo Administradores del equipo para usar el Comprobador de controladores.
¿Dónde puedo obtener Driver Verifier?
No es necesario obtener el Comprobador de controladores, ya que la mayoría de las versiones de Windows la incluyen en %WinDir%\system32\ as Verifier.exe. (El comprobador de controladores no se incluye con Windows 10 S, por lo que se recomienda probar el comportamiento del controlador en Windows 10 en su lugar). El comprobador de controladores no se distribuye por separado como un paquete de descarga.
Para obtener información sobre los cambios en el Comprobador de controladores para Windows 10 y versiones anteriores de Windows, consulta Driver Verifier: What's New.
Cuándo usar el comprobador de controladores
Use el Comprobador de controladores en todo el proceso de desarrollo y pruebas de controladores:
Desarrollo temprano
- Encontrar problemas al principio del ciclo de desarrollo cuando son más fáciles y menos costosos de corregir
- Evitar retrasos costosos detectando problemas antes de llegar a producción
Solución de problemas
- Depurar rápidamente las fallas de prueba y resolver los bloqueos de la computadora
- Identificar las causas principales de la inestabilidad del sistema relacionada con el controlador
Pruebas e implementación
- Supervisar el comportamiento del controlador al implementar para realizar pruebas con WDK, Visual Studio y Windows Hardware Lab Kit (Windows HLK)
- Garantizar la compatibilidad con los requisitos del Kit de certificación de hardware de Windows
Para obtener instrucciones completas sobre las pruebas de controladores, consulte Prueba de un controlador.
Importante
El Programa de compatibilidad de hardware de Windows requiere codeQL para pruebas de logotipo de herramientas estáticas (STL) en nuestros sistemas operativos cliente y servidor. Seguimos manteniendo la compatibilidad con SDV y CA en productos más antiguos. Se recomienda encarecidamente a los asociados revisar los requisitos de CodeQL para la prueba de logotipo de herramientas estáticas. Para obtener más información sobre el uso de CodeQL, consulte CodeQL y la prueba de logotipo de herramientas estáticas.
Cómo iniciar el comprobador de controladores
Ejecute el Comprobador de controladores solo en equipos de prueba o en equipos que esté probando y depurando. Para obtener la mayor ventaja del Comprobador de controladores, use un depurador de kernel para conectarse al equipo de prueba. Para obtener más información sobre las herramientas de depuración, vea Herramientas de depuración para Windows (WinDbg, KD, CDB, NTSD).
Inicie una ventana del símbolo del sistema seleccionando Ejecutar como administrador y escriba verifier para abrir Driver Verifier Manager.
Seleccione Crear configuración estándar (la tarea predeterminada) y seleccione Siguiente.
También puede elegir Crear configuración personalizada para seleccionar entre opciones predefinidas o para seleccionar opciones individuales. Para obtener más información, consulte Opciones del comprobador de controladores y clases de reglas y Selección de opciones del comprobador de controladores.
En Seleccionar qué controladores comprobar, elija uno de los esquemas de selección descritos en la tabla siguiente:
Opción Uso recomendado Seleccionar automáticamente controladores sin firmar Resulta útil para probar en equipos que ejecutan versiones de Windows que no requieren controladores firmados. Selección automática de controladores creados para versiones anteriores de Windows Resulta útil para probar la compatibilidad de controladores con versiones más recientes de Windows. Selección automática de todos los controladores instalados en este equipo Proporciona cobertura máxima en términos del número de controladores que se prueban en un sistema. Esta opción es útil para escenarios de prueba en los que un controlador puede interactuar con otros dispositivos o controladores en un sistema.
Esta opción también puede agotar los recursos disponibles para el Pool Especial y algunos mecanismos de seguimiento de recursos. La prueba de todos los controladores también puede afectar negativamente al rendimiento del sistema.Seleccionar nombres de conductores de una lista En la mayoría de los casos, desea especificar qué controladores se van a probar.
Al seleccionar todos los controladores de una pila de dispositivos, la opción Comprobación mejorada de E/ S permite realizar un seguimiento de los objetos y comprobar el cumplimiento porque se pasa un paquete de solicitud de E/S (IRP) entre cada uno de los controladores de la pila, lo que permite proporcionar un mayor nivel de detalle cuando se detecta un error.
Seleccione un solo controlador si está ejecutando un escenario de prueba que mide las métricas de rendimiento del sistema o del controlador, o si desea asignar el mayor número de recursos disponibles para detectar problemas de corrupción de memoria o de seguimiento de recursos, como problemas de interbloqueos o de exclusión mutua. Las opciones pool especial y verificación de entrada/salida son más eficaces cuando se usan en un controlador de dispositivo a la vez.Si eligió Seleccionar nombres de controladores de una lista, seleccione Siguiente y, a continuación, seleccione uno o varios controladores específicos.
Seleccione Finalizar y reinicie el equipo.
Nota:
Al usar el comprobador de controladores con las versiones de Windows 20150 a 25126, si selecciona ntoskrnl , podría recibir un error de estado no válido.
Para evitar este problema, anule la selección de ntoskrnl o actualice a una versión de Windows después de la compilación 25126.
Ejecute el comprobador de controladores en un símbolo del sistema
También puede ejecutar el Verificador de controladores en una ventana de comandos sin iniciar el Administrador del Verificador de controladores. Por ejemplo, para ejecutar el Comprobador de controladores con la configuración estándar en un controlador denominado myDriver.sys, use el siguiente comando:
verifier /standard /driver myDriver.sys
Para obtener más información sobre las opciones de la línea de comandos, vea Sintaxis de comandos del comprobador de controladores.
Cómo controlar Driver Verifier
Elija su método preferido para controlar el Comprobador de controladores:
- Administrador de comprobadores de controladores (GUI): más fácil para principiantes, interfaz visual
- Línea de comandos - más rápido para los usuarios experimentados, es scriptable
Nota:
Para iniciar el Administrador del comprobador de controladores, consulte la sección Inicio del comprobador de controladores anterior.
Tareas comunes del verificador de controladores
Para cada una de las acciones siguientes, puede usar el Administrador del comprobador de controladores o escribir una línea de comandos.
Para detener o restablecer el comprobador de controladores
En Administrador del comprobador de controladores, seleccione Eliminar configuración existente y, a continuación, seleccione Finalizar.
o
Escriba el siguiente comando en una línea de comandos:
verifier /resetReinicia el ordenador.
Para ver las estadísticas del comprobador de controladores
En Administrador del comprobador de controladores, seleccione Mostrar información sobre los controladores comprobados actualmente y, a continuación, seleccione Siguiente. Al continuar, seleccione Siguiente se muestra información adicional.
o
Escriba el siguiente comando en una línea de comandos:
verifier /query
Para ver la configuración del comprobador de controladores
En Administrador del comprobador de controladores, seleccione Mostrar la configuración existente y, a continuación, seleccione Siguiente.
o
Escriba el siguiente comando en una línea de comandos:
verifier /querysettings
Depuración de errores del Driver Verifier
Para obtener la mayor ventaja del Comprobador de controladores, use un depurador de kernel y conéctelo al equipo de prueba. Para obtener información general sobre las herramientas de depuración para Windows, consulte Herramientas de depuración para Windows (WinDbg, KD, CDB, NTSD).
Si el Comprobador de controladores detecta una infracción, genera una comprobación de errores para detener el equipo. Esta acción proporciona la mayor información posible para depurar el problema. Cuando se conecta un depurador del núcleo a un equipo de prueba que ejecuta Driver Verifier y este detecta una infracción, Windows activa el depurador y muestra una breve descripción del error.
Todas las infracciones detectadas por Driver Verifier (verificador de controladores) resultan en verificaciones de errores. Esta comprobación de errores suele ser una comprobación de errores Bug Check 0xC4. Para obtener más información, consulte Depuración de comprobación de errores 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION y Comprobación de errores 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.
Otros códigos comunes de comprobación de errores incluyen los siguientes códigos:
- Comprobación de errores 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
- Comprobación de errores 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
- Comprobación de errores 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
- Verificación de errores 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
- Error de verificación 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
Para obtener más información, consulte la sección titulada Manejo de una comprobación de errores cuando el verificador de controladores está habilitado.
Al iniciar una nueva sesión de depuración, use el comando de extensión del depurador, !analyze. En el modo kernel, el comando !analyze muestra información sobre la comprobación de errores más reciente. Para mostrar información adicional para ayudar a identificar el controlador defectuoso, agregue la opción -v al comando en el símbolo del sistema kd>:
kd> !analyze -v
Además de !analyze, puede escribir las siguientes extensiones del depurador en el símbolo del sistema kd> para ver información específica del comprobador de controladores:
!verifier muestra estadísticas capturadas del verificador de controladores. Utiliza !verificador -? para mostrar todas las opciones disponibles.
kd> !verifier!interbloqueo muestra información relacionada con bloqueos o objetos de los que realiza el seguimiento de la característica de detección de interbloqueos del comprobador de controladores. Use !interbloqueo -? para mostrar todas las opciones disponibles.
kd> !deadlock!iovirp [address] muestra información relacionada con un IRP seguido por comprobador de E/S. Por ejemplo:
kd> !iovirp 947cef68Busque la regla de comprobación de cumplimiento de DDI que fue violada. (RuleID siempre es el primer argumento para la comprobación de errores). Todos los identificadores de regla de la comprobación de cumplimiento de DDI están en el formulario 0x200nn.
Pasos siguientes
Ahora que comprende los conceptos básicos del Comprobador de controladores, explore estos temas relacionados:
- Opciones del comprobador de controladores - configurar escenarios de prueba avanzada
- Uso del comprobador de controladores : patrones de uso avanzados y procedimientos recomendados
- Comprobación de cumplimiento de DDI : descripción de las reglas de cumplimiento y las infracciones
- Herramientas de depuración para Windows : configuración de la depuración del kernel para el comprobador de controladores
Obtener ayuda
- Sintaxis del comprobador de controladores - referencia completa de comandos
- Control del comprobador de controladores : técnicas de control avanzadas