정적 드라이버 검증 도구 명령(MSBuild)

WDK(Windows 드라이버 키트)를 설치하거나 EWDK(Enterprise Windows 드라이버 키트)를 실행하여 Visual Studio 명령 프롬프트 창에서 SDV(정적 드라이버 검증 도구)를 실행할 수 있습니다. 드라이버의 프로젝트 파일 또는 라이브러리의 프로젝트 파일이 저장된 디렉터리로 이동합니다. 매개 변수는 명령줄에서 임의의 순서로 나타날 수 있습니다.

참고

SDV는 WDK를 설치할 때 Visual Studio에 통합되며 "드라이버" 메뉴를 통해 IDE에서 실행할 수도 있습니다.

msbuild /t:sdv /p:Inputs="Parameters" ProjectFile /p:Configuration=configuration /p:Platform=platform

릴리스 구성(예 : /p:Configuration="Windows 7 릴리스")을 선택해야 합니다. 지원되는 릴리스 구성 목록은 드라이버 빌드를 참조하세요. 플랫폼은 Win32 (x86의 경우) 또는 x64 (예 : /p:Platform=Win32)일 수 있습니다.

참고

분석 중에 컴퓨터가 절전 상태로 전환되지 않도록 컴퓨터의 전원 관리 계획을 검사 합니다.

매개 변수

/스캔

드라이버의 소스 코드에서 함수 역할 형식 선언을 검사합니다. 드라이버 제공 콜백 함수 및 디스패치 루틴을 선언하는 방법에 대한 자세한 내용은 함수 역할 형식 선언 사용을 참조하세요. 이 검사 중에 SDV는 드라이버를 확인하는 데 필요한 드라이버 진입점을 검색하려고 시도합니다. 드라이버의 프로젝트 디렉터리에 만든 파일인 Sdv-map.h에서 검사 결과를 기록합니다.

자세한 내용은 소스 코드 준비를 참조하세요.

/검사:Rule Rule | ,...

지정된 규칙을 사용하여 확인을 시작합니다. 각 규칙을 쉼표로 구분하여 둘 이상의 규칙을 지정할 수 있습니다. /검사: 명령을 실행하고 드라이버의 Visual Studio 프로젝트 파일(*.vcxproj)을 지정합니다.

규칙은하나 이상의 문자를 나타내는 와일드카드 문자(*)를 포함하는 규칙 또는 규칙 이름 패턴의 이름입니다. 단독으로 사용하는 경우 와일드카드 문자(*)는 모든 규칙을 나타냅니다.

/검사:RuleList.sdv

지정된 규칙 목록 파일의 규칙을 사용하여 확인을 시작합니다. 이 매개 변수를 사용하여 하나의 파일만 나열할 수 있습니다. 규칙 목록 파일에서 각 줄은 하나의 규칙 이름이거나 모든 SDV 규칙을 나타내는 와일드카드 문자(*)일 수 있습니다. /검사:RuleList.sdv 명령을 실행하고 드라이버의 Visual Studio 프로젝트 파일(*.vcxproj)을 지정합니다.

RuleList.sdv규칙 목록 파일의 정규화된 경로 및 파일 이름입니다. 파일에는 .sdv 파일 이름 확장명이 있어야 합니다. 파일이 로컬 디렉터리에 있지 않으면 경로가 필요합니다. 경로 또는 파일 이름에 공백이 포함된 경우 RuleList를 묶어야 합니다.sdv(따옴표).

규칙을 지정하지 않고 /검사: 옵션을 지정하면 SDV는 드라이버 모델에 대한 기본 규칙 집합으로 실행됩니다.

/Lib

현재 디렉터리에서 라이브러리를 처리합니다. SDV는 MSBuild.exe 호출하여 외부에서 사용하기 위해 라이브러리를 컴파일하고 빌드하며, 드라이버 확인에 라이브러리를 포함해야 하는 파일을 생성합니다.

라이브러리가 필요한 드라이버를 확인하기 전에 이 매개 변수를 사용합니다. msbuild /t:sdv /p:Inputs="/lib" 명령을 실행하고 라이브러리에 대한 Visual Studio 프로젝트 파일(*.vcxproj)을 지정합니다.

/lib 매개 변수의 사용 및 효과에 대한 자세한 내용은 정적 드라이버 검증 도구의 라이브러리 처리를 참조하세요.

/보기

정적 드라이버 검증 도구를 엽니다. /view 명령을 실행하고 드라이버의 Visual Studio 프로젝트 파일(*.vcxproj)을 지정합니다.

확인이 완료되는 즉시 결과를 사용할 수 있으며 /클린 명령을 사용하여 드라이버의 프로젝트 디렉터리에서 SDV 파일을 삭제할 때까지 계속 사용할 수 있습니다.

/클린

디렉터리에서 SDV 파일을 삭제합니다. 이러한 파일은 정적 드라이버 검증 도구 보고서 표시를 생성하는 데 사용되므로 /클린 명령은 확인 보고서도 삭제합니다.

/클린 명령을 실행하고 드라이버 또는 라이브러리에 대한 Visual Studio 프로젝트 파일(*.vcxproj)을 지정합니다. 명령은 지정된 프로젝트에 대해서만 SDV 파일을 삭제합니다.

각 확인 전에 드라이버 프로젝트에 대해 /클린 명령을 실행합니다.

라이브러리 코드가 변경되는 경우와 같이 라이브러리 파일이 오래된 경우 라이브러리에 대해 /클린 명령을 실행합니다.

승인된 플래그가 Sdv-map.h 파일(Approved=true)에서 true로 설정된 경우 /클린 명령은 Sdv-map.h 파일을 제거하지 않습니다. 그런 다음 SDV는 이 파일을 사용하여 향후 확인을 수행할 수 있습니다.

/?

SDV 명령에 대한 사용량을 표시합니다. 이 매개 변수를 사용하는 명령은 빌드 환경 창에서 실행할 필요가 없습니다.

의견

매개 변수 없이 msbuild /t:/sdv p:/Inputs= /? 를 실행하면 SDV 명령에 대한 사용량이 표시됩니다.

/클린 명령은 SDV가 확인을 위해 정적 드라이버 검증 도구 보고서 표시를 만드는 데 사용하는 파일을 삭제합니다. 이 명령을 실행한 후에는 확인에 대한 정적 드라이버 검증 도구 보고서 표시를 더 이상 사용할 수 없습니다.

예제

mydriver 프로젝트의 로컬 디렉터리에 있는 드라이버 파일에 대한 모든 규칙을 사용하여 SDV를 실행하려면 다음을 수행합니다.

msbuild /t:sdv /p:Inputs="/check:*" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

로컬 디렉터리의 드라이버 파일에서 CancelSpinLock 규칙을 사용하여 SDV를 실행하려면 다음을 수행합니다.

msbuild /t:sdv /p:Inputs="/check:CancelSpinLock" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

D:\SDV 디렉터리의 Rules1.sdv 규칙 목록 파일에 지정된 규칙을 사용하여 SDV를 실행하려면 다음을 수행합니다.

msbuild /t:sdv /p:Inputs="/check:D:\SDV\Rules1.sdv" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

SDV를 다시 실행하려면 이번에는 /클린 옵션을 사용합니다.

msbuild /t:sdv /p:Inputs="/clean" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

로컬 디렉터리에서 드라이버의 최신 확인 결과를 볼 수 있도록 정적 드라이버 검증 도구를 표시하려면 다음을 수행합니다.

msbuild /t:sdv /p:Inputs="/view" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

정적 드라이버 검증 도구를 사용하여 Windows 드라이버에서 결함 찾기