다음을 통해 공유


정적 드라이버 검증 도구 오류 메시지

이 섹션에서는 자주 표시되는 일부 SDV 오류 메시지의 의미를 설명하고 이를 해결하는 방법을 제안합니다.

Visual Studio에서 SDV를 시작할 때 다음 오류가 표시 될 수 있습니다.

  • SDV는 디버그가 아닌 구성에서만 작동합니다. 메시지에 따르면 SDV는 디버그가 아닌 구성에서 실행되어야 합니다. 프로젝트가 릴리스 구성으로 설정되어 있는지 확인하거나 사용할 수 없는 경우 프로젝트를 만들고 SDV를 다시 시작하세요.
  • 사용 가능한 규칙을 로드하는 동안 오류가 발생했습니다. SDV는 드라이버 모델에 대한 규칙을 찾을 수 없거나 드라이버 모델을 올바르게 확인할 수 없습니다(드라이버가 WDM, KMDF, NDIS 또는 Storport 드라이버가 아닌 경우 훨씬 더 많은 경우). WDK가 올바르게 설치된 경우 명령줄에서 직접 SDV를 실행하여 이 오류를 해결할 수 있습니다( 정적 드라이버 검증 도구 명령(MSBuild)참조).
  • SDV가 드라이버 디렉터리를 클린 수 없습니다. 경우에 따라 사용 권한 오류로 인해 "정리" 단추를 클릭할 때 SDV가 드라이버 디렉터리에서 이전 결과를 올바르게 정리하지 못할 수 있습니다. 이 오류는 이전 실행의 sdv 파일이 현재 사용 중인 경우에도 발생합니다. 드라이버 디렉터리에서 SDV 파일을 사용하는 것이 없는지 확인하고 "sdv" 및 "sdv.temp" 폴더와 "staticdv.job" 파일을 제거합니다.

분석을 시도하는 동안 SDV가 실패하면 실패한 스테이지가 표준 출력에 출력됩니다. Visual Studio GUI에서 SDV를 실행하는 경우 "경고" 탭으로 전환하여 이 출력을 볼 수 있습니다.

SDV가 실패할 수 있는 단계는 다음과 같습니다.

  • NormalBuild: SDV가 표준 MSBuild 명령을 사용하여 드라이버를 빌드할 수 없습니다. 특수한 빌드 논리가 있거나, 프로젝트 파일의 솔루션 요소를 사용하거나, 외부 빌드 구성 요소가 있는 경우에 발생할 수 있습니다. 프로젝트가 $(SolutionDir) 속성을 사용하는 경우 명령줄에서 SDV를 다시 실행하고 MSBuild 명령 끝에 /p:SolutionDir=[솔루션 dir] 을 추가하여 명령줄에 추가하여 이 변수를 직접 제공할 수 있습니다. 정적 드라이버 검증 도구 명령(MSBuild)을 참조하세요.
  • InterceptedBuild: SDV에서 분석을 위해 드라이버를 빌드할 수 없습니다.
  • 검사: SDV에서 드라이버의 진입점을 찾을 수 없습니다. 여기서 오류는 진입점을 찾을 수 없으며 함수 roletypes 또는 sdv-map.h를 업데이트해야 함을 나타낼 수 있습니다. 자세한 내용은 함수 역할 형식 선언 사용Sdv-map.h 파일 승인을 참조하세요.
  • FinalCompile: SDV가 규칙 및 OS 모델로 드라이버를 컴파일할 수 없습니다.
  • CheckRule: SDV에서 규칙을 올바르게 확인할 수 없습니다.

SDV에 대해 진단 사용하도록 설정하여 오류에 대한 자세한 내용을 알아볼 수 있습니다. 자세한 내용은 정적 드라이버 검증 도구 진단을 참조하세요.