Comprobador de controlador 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.

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) tanto en la experiencia de WDK completa como en el WDK enterprise independiente. Además, los paquetes de Visual C++ Redistributable para Visual Studio son necesarios para que se ejecute SDV. Consulte lo siguiente:

En el caso de las versiones de SDV disponibles en WDK para Windows 10, versión 1809 o anteriores, los paquetes de Visual C++ Redistributable para Visual Studio 2012 deben instalarse en lugar de los paquetes 2017.

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 comprobador de controladores estáticos

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 comprobar que el controlador:

  • 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 de acceso posibles a través del código del controlador. Está diseñado para encontrar errores graves en rutas de acceso 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: