Сообщения об ошибках средства проверки статических драйверов
В этом разделе объясняется значение некоторых наиболее часто встречающихся сообщений об ошибках SDV и предлагаются методы их устранения.
При запуске SDV из Visual Studio могут возникнуть следующие ошибки:
- SDV работает только в конфигурациях, не являющихся отладочными. Как говорится в сообщении, SDV необходимо запускать в конфигурации, не являющейся отладочной. Убедитесь, что для проекта задана конфигурация выпуска, или создайте ее, если она недоступна, и повторно запустите SDV.
- Произошла ошибка при загрузке доступных правил: SDV либо не может найти правила для вашей модели драйвера, либо не может правильно определить модель драйвера (гораздо более вероятно, если драйвер не является драйвером WDM, KMDF, NDIS или Storport). Если WDK установлен правильно, вы можете обойти эту ошибку, запустив SDV непосредственно из командной строки (см. статью Команды средства проверки статических драйверов (MSBuild)).
- SdV не удалось очистить каталог драйверов. В некоторых случаях ошибки разрешений могут помешать SDV правильно очистить старые результаты из каталога драйверов при нажатии кнопки "Очистить". Эта ошибка также возникает, если в настоящее время используются SDV-файлы из предыдущих запусков. Убедитесь, что sdv-файлы в каталоге драйверов не используются, а затем удалите все папки sdv и sdv.temp, а также файлы staticdv.job.
Если sdv завершается сбоем при попытке анализа, он выводит этап, на который произошел сбой, в стандартные выходные данные. При запуске SDV из графического пользовательского интерфейса Visual Studio эти выходные данные можно просмотреть, перейдя на вкладку "Оповещения".
Ниже приведены этапы, на которых sdv может завершиться сбоем:
- NormalBuild: SDV не удалось выполнить сборку драйвера с помощью стандартных команд MSBuild. Это может произойти, если вы используете специализированную логику сборки, используете элементы решения в файле проекта или используете внешние компоненты сборки. Если в проекте используется свойство $(SolutionDir), эту переменную можно указать напрямую, повторно запустив SDV из командной строки и добавив его в командную строку, добавив /p:SolutionDir=[your solution dir] в конец команды MSBuild. См. статью Команды средства проверки статических драйверов (MSBuild).
- InterceptedBuild: SDV не удалось создать драйвер для анализа.
- Сканирование: SDV не удалось найти точки входа драйвера. Ошибка может указывать на то, что точки входа не найдены, и следует обновить типы ролей функции или sdv-map.h. Дополнительные сведения см. в разделах Использование объявлений типов ролей функции и Утверждение файла Sdv-map.h .
- FinalCompile: SDV не удалось скомпилировать драйвер с помощью правила и модели ОС.
- CheckRule: SDV не удалось правильно проверить правило.
Вы можете получить дополнительные сведения об ошибке, включив диагностика для SDV. Дополнительные сведения см. в разделе Диагностика статического средства проверки драйверов .