Compartir a través de


Introducción al comprobador de controladores estático

El comprobador de controladores estáticos (SDV) es una herramienta de comprobación estática que se ejecuta en tiempo de compilación. Explora las rutas de acceso en el código de controlador mediante la ejecución simbólica del código fuente, lo que hace las suposiciones más posibles sobre el estado del sistema operativo y el estado inicial del controlador. Como resultado, SDV puede ejercer código en rutas de acceso que se pierden en las pruebas tradicionales.

SDV incluye un conjunto de reglas que definen la interacción adecuada entre un controlador y el kernel del sistema operativo. Durante la comprobación, SDV examina todas las ramas aplicables del código de controlador y el código de biblioteca que usa e intenta demostrar que el controlador infringe las reglas. Si SDV no puede demostrar una infracción, informa de que el controlador cumple las reglas y pasa la comprobación.

Esta sección incluye:

Descripción del comprobador de controladores estáticos

Conceptos del comprobador de controladores estáticos

Controladores admitidos

Limitaciones del comprobador de controladores estáticos

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 WDK más reciente que la compilación 26017 y no se incluye en windows 24H2 RTM WDK. SDV todavía se puede usar 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.