Mensajes de error del comprobador de controladores estáticos
En esta sección se explica el significado de algunos de los mensajes de error de SDV más frecuentes y se sugieren métodos para resolverlos.
Al iniciar SDV desde Visual Studio, es posible que vea los siguientes errores:
- SDV solo funciona en configuraciones que no son de depuración: como indica el mensaje, SDV debe ejecutarse en una configuración que no sea de depuración. Asegúrese de que el proyecto esté establecido en una configuración de versión o cree uno si no está disponible y vuelva a iniciar SDV.
- Error al cargar las reglas disponibles: SDV no encuentra las reglas del modelo de controlador o no puede determinar el modelo de controlador correctamente (es mucho más probable si el controlador no es un controlador WDM, KMDF, NDIS o Storport). Si el WDK está instalado correctamente, es posible que pueda solucionar este error ejecutando SDV directamente desde la línea de comandos (consulte Comandos del comprobador de controladores estáticos (MSBuild)).
- SDV no pudo limpiar el directorio del controlador: en algunos casos, los errores de permisos pueden impedir que SDV limpie correctamente los resultados antiguos del directorio del controlador al hacer clic en el botón "Limpiar". Este error también se producirá si los archivos sdv de ejecuciones anteriores están actualmente en uso. Asegúrese de que nada usa los archivos SDV en el directorio del controlador y, a continuación, quite las carpetas "sdv" y "sdv.temp" y los archivos "staticdv.job".
Si se produce un error en SDV al intentar el análisis, imprimirá la fase en la que no se pudo realizar la salida estándar. Al ejecutar SDV desde la GUI de Visual Studio, puede ver esta salida cambiando a la pestaña "Alertas".
Las fases de SDV pueden producir errores son:
- NormalBuild: SDV no pudo compilar el controlador mediante comandos estándar de MSBuild. Esto puede ocurrir si tiene lógica de compilación especializada, se basa en los elementos de la solución en el archivo del proyecto o si tiene componentes de compilación externos. Si el proyecto se basa en la propiedad $(SolutionDir), puede proporcionar esta variable directamente mediante la nueva ejecución de SDV desde la línea de comandos y anexarla a la línea de comandos agregando /p:SolutionDir=[su solución dir] al final del comando de MSBuild. Consulte Comandos de comprobador de controladores estáticos (MSBuild).
- InterceptedBuild: SDV no pudo compilar el controlador para su análisis.
- Examen: SDV no pudo encontrar los puntos de entrada del controlador. Un error aquí puede indicar que no se encontraron puntos de entrada y debe actualizar los tipos de rol de función o sdv-map.h. Consulte Using Function Role Type Declarations (Usar declaraciones de tipo de rol de función ) y Aprobar el archivo Sdv-map.h para obtener más información.
- FinalCompile: SDV no pudo compilar el controlador con la regla y el modelo del sistema operativo.
- CheckRule: SDV no pudo comprobar correctamente la regla.
Puede obtener más información sobre el error habilitando diagnósticos para SDV. Consulte Diagnósticos del comprobador de controladores estáticos para obtener más información.