Compartir a través de


Verificador de controladores estático

El comprobador de controladores estáticos (también conocido como "StaticDV" o "SDV") es una herramienta de comprobación estática que analiza sistemáticamente el código fuente de los controladores en modo kernel de Windows. SDV es una herramienta en tiempo de compilación capaz de detectar defectos y problemas de diseño en un controlador. En función de un conjunto de reglas de interfaz y un modelo del sistema operativo, SDV determina si el controlador interactúa correctamente con el kernel del sistema operativo Windows.

Importante

SDV ya no es compatible y SDV no está disponible en las versiones de WDK o EWDK de Windows 24H2. No está disponible en WDKs más recientes que la compilación 26017, y no se incluye en Windows 24H2 RTM WDK. SDV todavía se puede utilizar descargando Windows 11, versión 22H2 EWDK (publicada el 24 de octubre de 2023), con las herramientas de compilación de Visual Studio 17.1.5 desde Descargar el Kit de controladores de Windows (WDK). Solo se recomienda el uso de Enterprise WDK para ejecutar SDV. No se recomienda usar versiones anteriores del WDK estándar junto con las versiones recientes de Visual Studio, ya que esto probablemente provocará errores de análisis.
En el futuro, CodeQL será la herramienta de análisis estático principal para los controladores. CodeQL proporciona un lenguaje de consulta eficaz que trata el código como una base de datos que se va a consultar, lo que facilita la escritura de consultas para comportamientos, patrones y mucho más específicos. Para obtener más información sobre el uso de CodeQL, consulte CodeQL y la prueba de logotipo de herramientas estáticas.

Instalación del comprobador de controladores estáticos

El Comprobador de controladores estáticos está disponible como parte del Kit de controladores de Windows (WDK) en la experiencia completa de WDK y en el WDK enterprise independiente. Además, los paquetes redistribuibles de Visual C++ para Visual Studio son necesarios para que se ejecute SDV. Vea lo siguiente:

Integración de Visual Studio

El comprobador de controladores estáticos está integrado en Visual Studio. Puede ejecutar análisis estáticos en el proyecto de controlador de Visual Studio. Puede iniciar, configurar y controlar el Comprobador de controladores estáticos desde el menú Controlador de Visual Studio.

Documentación del Verificador Estático de Controladores

Búsqueda de errores en el código del controlador de Windows

Microsoft usa SDV para probar los controladores en modo kernel que se incluyen con el sistema operativo Microsoft Windows y para probar los controladores de ejemplo en WDK. Mediante el uso de las reglas de cumplimiento de DDI para modelos de controladores específicos, SDV puede comprobar el comportamiento correcto del controlador. Por ejemplo, SDV puede verificar que el conductor:

  • Llama a funciones en el IRQL correcto.
  • Adquiere y libera bloqueos en la secuencia correcta
  • Usa correctamente funciones que controlan paquetes de solicitud de E/S (IRP)

SDV examina todas las rutas posibles a través del código del controlador. Está diseñado para encontrar errores graves en rutas ocultas que es poco probable que se encuentren incluso en pruebas exhaustivas.

Recursos adicionales

Para obtener información específica sobre los controladores que SDV puede comprobar, consulte Controladores admitidos.

Para obtener más información y sugerencias sobre el uso del comprobador de controladores estáticos, consulte lo siguiente: