Диагностика средства проверки статических драйверов
SDV имеет режим диагностика, который может помочь вам и Корпорации Майкрософт устранить проблемы, с которыми может столкнуться SDV. Если режим диагностика включен, SDV записывает сообщения в ряд файлов в проекте драйвера, один на этап проверки и правило.
Включение диагностики
Режим диагностики для SDV (также известный как режим отладки) в настоящее время можно включить только при запуске из командной строки. Дополнительные сведения о запуске из командной строки см. в статьях "Команды средства проверки статических драйверов" (MSBuild).
Чтобы активировать диагностика, добавьте флаг /debug после команды /проверка. Например:
msbuild /t:sdv /p:Inputs="/check:* /debug" mydriver.VcxProj /p:Configuration="Release" /p:Platform=x64
Включение диагностика приведет к значительно большему объему выходных данных в командном окне, а также созданию определенных файлов журнала.
Общие сведения о диагностике
SDV создаст несколько файлов на каждом этапе выполнения, которые будут предоставлять сведения об этом шаге. Если SDV завершается сбоем при выполнении, он не создаст файлы диагностики для последующих этапов.
Созданные файлы приведены в порядке:
smvexecute-NormalBuild.log. Это находится в исходном каталоге драйвера и отображает выходные данные первоначальной попытки SDV создать драйвер без дополнительной инструментирования и анализа.
smvexecute-InterceptedBuild.log. Это находится в исходном каталоге драйвера и отображает выходные данные сборки SDV драйвера с добавленными перехватчиками анализа.
smvcl.log. Это находится в каталоге SDV, созданном в проекте драйвера SDV. В нем показаны выходные данные компилятора шага InterceptedBuild. Если в smvexecute-InterceptedBuild.log возникает сбой, вы можете найти дополнительные сведения в smvcl.log.
smvexecute-Scan.log. Это находится в каталоге SDV, созданном в проекте драйвера SDV. В нем показаны выходные данные попытки SDV проверить драйвер для поиска точек входа. Ошибка здесь может указывать на отсутствие точек входа и обновление типов ролей функции или sdv-map.h. Дополнительные сведения см. в разделе "Использование объявлений типов ролей функции" и утверждение файла sdv-map.h.
smvexecute-FinalCompile.log. Один из этих файлов создается для каждого правила, проверенного sdv, и можно найти в подпапке SDV\проверка[имя правила], созданном в проекте драйвера. В этом файле показаны выходные данные попытки SDV создать драйвер с помощью модели ОС и конкретного правила.
smvexecute-CheckRule.log. Один из этих файлов создается для каждого правила, проверенного sdv, и можно найти в подпапке SDV\проверка[имя правила], созданном в проекте драйвера. В этом файле показаны выходные данные попытки SDV проверить указанное правило для драйвера.
Вы должны искать файл, соответствующий списку этапов, как не удалось в выходных данных команды. Если произошел сбой в шагах FinalCompile или CheckRule, обязательно проверка папку для определенного правила, указанного как сбой.