Compartir vía


Comprobador de controladores

El Comprobador de controladores supervisa los controladores del modo kernel de Windows y los controladores gráficos para detectar llamadas o acciones de función no válidas que podrían dañar el sistema. El Comprobador de controladores puede someter los controladores de Windows a una variedad de esfuerzos y pruebas para encontrar un comportamiento incorrecto. Puede configurar las pruebas que se van a ejecutar, lo que le permite someter a un controlador a cargas de esfuerzo pesadas o a pruebas más simplificadas. También puede ejecutar el Controlador de controladores en varios controladores simultáneamente o en un controlador a la vez.

Precaución

  • La ejecución del Comprobador de controladores podría provocar que el equipo se bloquee.
  • Solo debe ejecutar el Comprobador de controladores en los equipos que usa para probar y depurar.
  • Debe estar en el grupo Administradores del equipo para usar el Comprobador de controladores.

¿Dónde puedo descargar driver Verifier?

No es necesario descargar el Comprobador de controladores, ya que se incluye con la mayoría de las versiones de Windows en %WinDir%\system32\ como 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

Ejecute el Comprobador de controladores a lo largo del desarrollo y las pruebas del controlador. Más concretamente, use el Comprobador de controladores para los siguientes fines:

  • Para encontrar problemas al principio del ciclo de desarrollo, cuando son más fáciles y menos costosos de corregir.

  • Para solucionar problemas y depurar errores de prueba y bloqueos de equipo.

  • Para supervisar el comportamiento al implementar un controlador para realizar pruebas mediante WDK, Visual Studio y las pruebas del Kit de laboratorio de hardware de Windows (Windows HLK) o del Kit de certificación de hardware de Windows (para Windows 8.1). Para obtener más información sobre los controladores de prueba, vea Probar 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. Seguiremos 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

Solo debe ejecutar el Comprobador de controladores en equipos de prueba o en equipos que está probando y depurando. Para obtener la mayor ventaja del comprobador de controladores, debe usar un depurador de kernel y 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).

  1. Inicie una ventana del símbolo del sistema seleccionando Ejecutar como administrador y escriba comprobador para abrir el Administrador del comprobador de controladores.

  2. 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.

  3. En Seleccionar qué controladores comprobar, elija uno de los esquemas de selección descritos en la tabla siguiente.

    Opción Uso recomendado
    Selección automática de controladores sin firmar

    Resulta útil para realizar pruebas 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 grupo especial y algunos seguimientos de recursos. La prueba de todos los controladores también puede afectar negativamente al rendimiento del sistema.

    Selección de nombres de controladores en una lista

    En la mayoría de los casos, querrá 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 seguimiento de recursos o daños en la memoria (como interbloqueos o exclusión mutua). Las opciones de verificación de E/S y grupo especial son más eficaces cuando se usan en un controlador a la vez.

  4. Si eligió Seleccionar nombres de controladores de una lista, seleccione Siguiente y, a continuación, seleccione uno o varios controladores específicos.

  5. Seleccione Finalizar y, a continuación, reinicie el equipo.

Nota:

Al usar el comprobador de controladores con las versiones de Windows 20150 a 25126, si ha seleccionado ntoskrnl , puede 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.

Ejecución del comprobador de controladores en un símbolo del sistema

También puede ejecutar el Comprobador de controladores en una ventana del símbolo del sistema sin iniciar el Administrador de comprobadores de controladores. Por ejemplo, para ejecutar el Comprobador de controladores con la configuración estándar en un controlador denominado myDriver.sys, usaría 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 el comprobador de controladores

Puede usar el Administrador del comprobador de controladores o una línea de comandos para controlar el Comprobador de controladores. Para iniciar el Administrador de comprobadores de controladores, consulte Inicio del comprobador de controladores, anteriormente en este tema.

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

  1. En Administrador del comprobador de controladores, seleccione Eliminar configuración existente y, a continuación, seleccione Finalizar.

    o

    En un símbolo del sistema, escriba el siguiente comando:

    verifier /reset
    
  2. Reinicie el equipo.

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

En un símbolo del sistema, escriba el siguiente comando:

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

En un símbolo del sistema, escriba el siguiente comando:

verifier /querysettings

Depuración de infracciones del comprobador de controladores

Para obtener la mayor ventaja del Comprobador de controladores, debe usar un depurador de kernel y conectarlo 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. Esto es para proporcionarle la mayor información posible para depurar el problema. Cuando tiene un depurador de kernel conectado a un equipo de prueba que ejecuta el Comprobador de controladores y comprobador de controladores detecta una infracción, Windows se divide en el depurador y muestra una breve descripción del error.

Todas las infracciones detectadas por el Comprobador de controladores producen comprobaciones de errores. Normalmente, se trata de un 0xC4 de comprobación de errores. Para obtener más información, consulte 0xC4 de comprobación de errores de depuración: DRIVER_VERIFIER_DETECTED_VIOLATION y comprobación de errores 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.

Otros códigos comunes de comprobación de errores incluyen lo siguiente:

Para obtener más información, consulte Control de una comprobación de errores cuando el comprobador 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 con errores, 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 dumps capturados estadísticas del comprobador de controladores. Use !comprobador -? 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 947cef68
    
  • Busque la regla de comprobación de cumplimiento de DDI que se infringió. (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.

Opciones del comprobador de controladores

Sintaxis de comandos del comprobador de controladores

Uso del comprobador de controladores

Control del Comprobador de controladores

Comprobación de cumplimiento de DDI