정적 드라이버 검증 도구

정적 드라이버 검증 도구("StaticDV" 또는 "SDV"라고도 함)는 Windows 커널 모드 드라이버의 소스 코드를 체계적으로 분석하는 정적 확인 도구입니다. SDV는 드라이버에서 결함 및 디자인 문제를 검색할 수 있는 컴파일 시간 도구입니다. SDV는 인터페이스 규칙 집합 및 운영 체제 모델에 따라 드라이버가 Windows 운영 체제 커널과 올바르게 상호 작용하는지 여부를 결정합니다.

정적 드라이버 검증 도구 설치

정적 드라이버 검증 도구는 전체 WDK 환경과 독립 실행형 Enterprise WDK 모두에서 WDK(Windows 드라이버 키트) 의 일부로 사용할 수 있습니다. 또한 SDV를 실행하려면 Visual Studio용 Visual C++ 재배포 가능 패키지 패키지가 필요합니다. 다음을 참조하세요.

Windows 10 버전 1809 이하의 WDK에서 사용할 수 있는 SDV 버전의 경우 2017 패키지 대신 Visual Studio 2012용 Visual C++ 재배포 가능 패키지 패키지를 설치해야 합니다.

Visual Studio 통합

정적 드라이버 검증 도구는 Visual Studio에 통합됩니다. Visual Studio 드라이버 프로젝트에서 정적 분석을 실행할 수 있습니다. Visual Studio의 드라이버 메뉴에서 정 적 드라이버 검증 도구를 시작, 구성 및 제어할 수 있습니다.

정적 드라이버 검증 도구 설명서

Windows 드라이버 코드에서 버그 찾기

Microsoft는 SDV를 사용하여 Microsoft Windows 운영 체제에 포함된 커널 모드 드라이버를 테스트하고 WDK에서 샘플 드라이버를 테스트합니다. SDV는 특정 드라이버 모델에 대한 DDI 규정 준수 규칙을 사용하여 올바른 드라이버 동작을 확인할 수 있습니다. 예를 들어 SDV는 드라이버가 다음과 같은지 확인할 수 있습니다.

  • 올바른 IRQL에서 함수 호출
  • 올바른 순서로 잠금을 획득하고 해제합니다.
  • IRP(I/O 요청 패킷)를 처리하는 함수를 올바르게 사용합니다.

SDV는 드라이버 코드를 통해 가능한 모든 경로를 검사합니다. 그것은 철저한 테스트에서도 발생할 가능성이 모호한 경로에서 심각한 오류를 찾을 수 있도록 설계되었습니다.

추가 리소스

SDV에서 확인할 수 있는 드라이버에 대한 자세한 내용은 지원되는 드라이버를 참조하세요.

정적 드라이버 검증 도구 사용에 대한 자세한 내용과 팁은 다음을 참조하세요.