Comandos del comprobador de controladores estáticos (MSBuild)

Puedes ejecutar el Comprobador de controladores estáticos (SDV) en una ventana del símbolo del sistema de Visual Studio , ya sea mediante la instalación del Kit de controladores de Windows (WDK) o ejecutando enterprise Windows Driver Kit (EWDK). Vaya al directorio donde se almacena el archivo de proyecto del controlador o el archivo de proyecto de la biblioteca. Los parámetros pueden aparecer en cualquier orden en la línea de comandos.

Nota

SDV se integra en Visual Studio tras la instalación del WDK y también se puede ejecutar desde el IDE a través del menú "Controlador".

msbuild /t:sdv /p:Inputs="Parameters" ProjectFile /p:Configuration=configuration /p:Platform=platform

Debe seleccionar una configuración de versión (por ejemplo, /p:Configuration="Versión de Windows 7"). Para obtener la lista de configuraciones de versión admitidas, consulte Creación de un controlador. La plataforma puede ser Win32 (para x86) o x64 (por ejemplo, /p:Platform=Win32).

Nota

Asegúrese de comprobar el plan de administración de energía del equipo para asegurarse de que el equipo no entrará en estado de suspensión durante el análisis.

Parámetros

/escanear

Examina el código fuente del controlador para ver las declaraciones de tipo de rol de función. Para obtener información sobre cómo declarar las funciones de devolución de llamada proporcionadas por el controlador y las rutinas de envío, vea Using Function Role Type Declarations. Durante este examen, SDV intenta detectar los puntos de entrada del controlador que necesita para comprobar el controlador. Registra los resultados del examen en Sdv-map.h, un archivo que crea en el directorio del proyecto del controlador.

Para obtener más información, consulte Preparación del código fuente.

/check:Rule Rule | ,...

Inicia una comprobación con las reglas especificadas. Puede especificar más de una regla separando cada regla con una coma. Ejecute el comando /check: y especifique el archivo de proyecto de Visual Studio del controlador (*.vcxproj).

Rule es el nombre de una regla o un patrón de nombre de regla que incluye caracteres comodín (*) para representar uno o varios caracteres. Cuando se usa solo, el carácter comodín (*) representa todas las reglas.

/check:RuleList.sdv

Inicia una comprobación con las reglas del archivo de lista de reglas especificado. Solo puede enumerar un archivo con este parámetro. En el archivo de lista de reglas, cada línea puede ser el nombre de una regla o puede ser un carácter comodín (*), que representa todas las reglas de SDV. Ejecute el comando /check:RuleList.sdv y especifique el archivo de proyecto de Visual Studio del controlador (*.vcxproj).

RuleList.sdv es la ruta de acceso completa y el nombre de archivo de un archivo de lista de reglas. El archivo debe tener la extensión de nombre de archivo .sdv . A menos que el archivo esté en el directorio local, se requiere la ruta de acceso. Si la ruta de acceso o el nombre de archivo incluye espacios, debe incluir RuleList.sdv entre comillas.

Si especifica la opción /check: sin especificar una regla, SDV se ejecuta con el conjunto de reglas predeterminado para el modelo de controlador.

/Lib

Procesa la biblioteca en el directorio actual. SDV llama a MSBuild.exe para compilar y compilar la biblioteca para su uso externo, y genera los archivos que necesita para incluir la biblioteca en la comprobación del controlador.

Use este parámetro antes de comprobar los controladores que requieren la biblioteca. Ejecute el comando msbuild /t:sdv /p:Inputs="/lib" y especifique el archivo de proyecto de Visual Studio (*.vcxproj) para la biblioteca.

Para obtener más información sobre el uso y el efecto del parámetro /lib , vea Library Processing in Static Driver Verifier.

/Vista

Abre comprobador de controladores estáticos. Ejecute comandos /view y especifique el archivo de proyecto de Visual Studio del controlador (*.vcxproj).

Los resultados están disponibles en cuanto se completa una comprobación y permanecen disponibles hasta que use un comando /clean para eliminar los archivos SDV del directorio del proyecto del controlador.

/Limpio

Elimina los archivos SDV del directorio. Dado que estos archivos se usan para generar la presentación del informe de comprobador de controladores estáticos, el comando /clean también elimina el informe de la comprobación.

Ejecute un comando /clean y especifique el archivo de proyecto de Visual Studio (*.vcxproj) para el controlador o la biblioteca. El comando elimina los archivos SDV solo para el proyecto especificado.

Ejecute un comando /clean para un proyecto de controlador antes de cada comprobación.

Ejecute un comando /clean para una biblioteca cuando los archivos de biblioteca no estén actualizados, como cuando cambie el código de la biblioteca.

Un comando /clean no quita el archivo Sdv-map.h, si la marca aprobada está establecida en true en el archivo Sdv-map.h (Approved=true). Después, SDV puede usar este archivo para futuras comprobaciones.

/?

Muestra el uso de los comandos de SDV. Los comandos que usan este parámetro no tienen que ejecutarse en una ventana del entorno de compilación.

Comentarios

La ejecución de msbuild /t:/sdv p:/Inputs= /? sin parámetros muestra el uso de los comandos de SDV.

Un comando /clean elimina los archivos que SDV usa para crear la presentación del informe de comprobador de controladores estáticos para una comprobación. Después de ejecutar este comando, la pantalla Informe de comprobador de controladores estáticos para la comprobación ya no está disponible.

Ejemplos

Para ejecutar SDV con todas las reglas de los archivos de controlador en el directorio local del proyecto mydriver:

msbuild /t:sdv /p:Inputs="/check:*" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

Para ejecutar SDV mediante la regla CancelSpinLock en los archivos de controlador del directorio local:

msbuild /t:sdv /p:Inputs="/check:CancelSpinLock" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Para ejecutar SDV mediante la regla especificada en el archivo de lista de reglas Rules1.sdv en el directorio D:\SDV:

msbuild /t:sdv /p:Inputs="/check:D:\SDV\Rules1.sdv" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Para volver a ejecutar SDV, esta vez con la opción /clean:

msbuild /t:sdv /p:Inputs="/clean" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

Para mostrar el Comprobador de controladores estáticos para que pueda ver los resultados de la comprobación más reciente del controlador en el directorio local:

msbuild /t:sdv /p:Inputs="/view" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Usar comprobador de controladores estáticos para buscar defectos en controladores de Windows