Средство проверки статических драйверов
Средство проверки статических драйверов (также известное как StaticDV или SDV) — это статическое средство проверки, которое систематически анализирует исходный код драйверов в режиме ядра Windows. SDV — это средство времени компиляции, которое может обнаруживать дефекты и проблемы проектирования в драйвере. На основе набора правил интерфейса и модели операционной системы SDV определяет, правильно ли драйвер взаимодействует с ядром операционной системы Windows.
Внимание
Программа совместимости оборудования Windows требует проверки CodeQL для статических проверок логотипа средства (STL) на наших клиентских и серверных операционных системах. Мы будем продолжать поддерживать поддержку SDV и ЦС на старых продуктах. Партнерам настоятельно рекомендуется ознакомиться с требованиями CodeQL к статическому тесту логотипа средства. Дополнительные сведения об использовании CodeQL см. в разделе CodeQL и проверка логотипа статических инструментов.
Установка средства проверки статических драйверов
Средство проверки статических драйверов доступно в составе комплекта драйверов Windows (WDK) как в полном интерфейсе WDK, так и в автономном корпоративном WDK. Кроме того, для запуска SDV требуются пакеты Распространяемый компонент Visual C++ для Visual Studio. См. следующие разделы:
- Распространение Visual Studio 2019
- пакеты Распространяемый компонент Visual C++ для Visual Studio 2017
- Распространяемые пакеты Visual C++ для Visual Studio 2013
Для версий SDV, доступных в WDK для Windows 10 версии 1809 или более ранних версий, необходимо установить пакеты Распространяемый компонент Visual C++ для Visual Studio 2012 вместо пакетов 2017.
Интеграция 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, см. в разделе "Поддерживаемые драйверы"
Дополнительные сведения и советы по использованию средства проверки статических драйверов см. в следующих статьях:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по