Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Средство проверки статических драйверов (также известное как StaticDV или SDV) — это статическое средство проверки, которое систематически анализирует исходный код драйверов в режиме ядра Windows. SDV — это средство времени компиляции, которое может обнаруживать дефекты и проблемы проектирования в драйвере. На основе набора правил интерфейса и модели операционной системы SDV определяет, правильно ли драйвер взаимодействует с ядром операционной системы Windows.
Это важно
SDV больше не поддерживается, а SDV недоступен в выпусках Windows 24H2 WDK или EWDK. Он недоступен в версиях WDK, выпущенных позже сборки 26017, и не включен в WDK Windows 24H2 RTM.
SDV по-прежнему можно использовать, скачав Windows 11 версии 22H2 EWDK (выпущено 24 октября 2023 г.) с инструментами сборки Visual Studio 17.1.5 из скачивания комплекта драйверов Windows (WDK). Рекомендуется использовать только enterprise WDK для запуска SDV. Использование более старых версий стандартной WDK в сочетании с последними выпусками Visual Studio не рекомендуется, так как это, скорее всего, приведет к сбоям анализа.
В будущем CodeQL будет основным средством статического анализа драйверов. CodeQL предоставляет мощный язык запросов, который обрабатывает код как базу данных для запроса, что упрощает запись запросов для конкретных поведения, шаблонов и многого другого.
Дополнительные сведения об использовании CodeQL см. в разделе CodeQL и проверка логотипа статических инструментов.
Установка средства проверки статических драйверов
Средство проверки статических драйверов доступно в составе комплекта драйверов Windows (WDK) как в полном интерфейсе WDK, так и в автономном корпоративном WDK. Кроме того, распространяемые пакеты Visual C++ для Visual Studio требуются для запуска SDV. См. следующие разделы:
Интеграция Visual Studio
Средство проверки статических драйверов интегрировано в Visual Studio. Вы можете выполнить статический анализ в проекте драйвера Visual Studio. Вы можете запустить, настроить и контролировать средство проверки статических драйверов из меню "Драйвер " в Visual Studio.
Документация по проверке статических драйверов
- Известные проблемы с проверкой статических драйверов: перечислены последние известные проблемы для средства проверки статических драйверов
- Использование средства проверки статических драйверов для поиска дефектов в драйверах: сообщает, что необходимо приступить к анализу кода драйвера в среде Visual Studio.
- Команды средства проверки статических драйверов (MSBuild): перечисляет команды MSBuild для запуска SDV в окне командной строки Visual Studio.
- Введение в средство проверки статических драйверов: предоставляет обзор средства статического анализа.
- Использование средства проверки статических драйверов. Предоставляет сведения об использовании и настройке средства статического анализа.
- Отчет о проверке статических драйверов: описывает средство просмотра, отображающее подробную трассировку анализа статического кода.
- Правила проверки статических драйверов: правила определяют требования для правильного взаимодействия между моделью драйвера и интерфейсом ядра операционной системы.
- Справочник по проверке статических драйверов. Предоставляет справочные сведения о типах ролей функций, файлах конфигурации SDV, сообщениях об ошибках и предупреждениях.
Поиск ошибок в коде драйвера Windows
Корпорация Майкрософт использует SDV для тестирования драйверов в режиме ядра, включенных в операционную систему Microsoft Windows, и для тестирования примеров драйверов в WDK. С помощью правил соответствия DDI для определенных моделей драйверов SDV может проверить правильное поведение драйвера. Например, SDV может проверить, что драйвер:
- Вызывает функции на правильном уровне IRQL
- Получает и освобождает блокировки в правильной последовательности
- Правильно использует функции, обрабатывающие пакеты запросов ввода-вывода (IRP)
SDV проверяет все возможные пути через код драйвера. Он предназначен для поиска серьезных ошибок в маловероятных путях, которые вряд ли обнаруживаются даже при тщательном тестировании.
Дополнительные ресурсы
Дополнительные сведения о драйверах, которые могут проверить SDV, см. в разделе "Поддерживаемые драйверы"
Дополнительные сведения и советы по использованию средства проверки статических драйверов см. в следующих статьях:
- блог сертификации оборудования Windows
- Сайт сообщества ядра Windows
- Форум по тестированию оборудования и сертификации Windows