다음을 통해 공유


검증자

드라이버 검증 도구는 Windows 커널 모드 드라이버 및 그래픽 드라이버를 모니터링하는 방식으로 시스템을 손상할 수 있는 잘못된 함수 호출 또는 작업을 감지합니다. 드라이버 검증 도구는 Windows 드라이버에 다양한 스트레스 및 테스트를 적용하여 적절하지 않은 동작을 찾아낼 수 있습니다. 실행할 테스트 구성이 가능하며, 이를 통해 무거운 스트레스 부하를 가하거나, 보다 간소화된 테스트를 실시하여 드라이버를 배치할 수 있게 해줍니다. 여러 드라이버가 동시에 또는 한 번에 하나의 드라이버에서 드라이버 검증 도구를 실행할 수도 있습니다.

중요합니다

드라이버 검증 도구를 사용하려면 컴퓨터의 관리자 그룹에 있어야 합니다. 드라이버 검증 도구를 실행하면 컴퓨터가 충돌할 수 있기 때문에 테스트 및 디버깅에 사용되는 컴퓨터에 한해 이 유틸리티를 실행해야 합니다.

구문

verifier /standard /all
verifier /standard /driver NAME [NAME ...]
verifier /flags <options> /all
verifier /flags <options> /driver NAME [NAME ...]
verifier /rules [OPTION ...]
verifier /query
verifier /querysettings
verifier /bootmode [persistent | disableafterfail | oneboot]
verifier /reset
verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /faultssystematic [OPTION ...]
verifier /log LOG_FILE_NAME [/interval SECONDS]
verifier /volatile /flags <options>
verifier /volatile /adddriver NAME [NAME ...]
verifier /volatile /removedriver NAME [NAME ...]
verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /domain <types> <options> /driver ... [/logging | /livedump]
verifier /logging
verifier /livedump
verifier /?
verifier /help

매개 변수

매개 변수 설명
/모두 다음 부팅을 수행한 다음 드라이버 검증 도구 유틸리티에 설치된 모든 드라이버를 확인하도록 지시합니다.
/부팅 모드 [persistent \| disableafterfail \| oneboot \| resetonunusualshutdown] 재부팅한 후 드라이버 검증 도구 유틸리티에 대한 설정 사용 여부를 제어합니다. 이 옵션을 설정하거나 변경하려면 컴퓨터를 다시 부팅하세요. 사용할 수 있는 모드는 다음과 같습니다.
  • persistent - 여러 차례 재부팅해도 드라이버 검증 도구 설정이 유지(계속 적용)되도록 합니다. 이것이 기본 설정입니다.
  • disableafterfail - Windows가 시작되지 않으면 이 설정은 후속 재부팅 시 드라이버 검증 도구 유틸리티를 사용하지 않도록 합니다.
  • oneboot - 다음번 컴퓨터 시작 시에만 드라이버 검증 도구 설정을 사용하도록 설정합니다. 드라이버 검증 도구 유틸리티는 후속 재부팅에 사용할 수 없습니다.
  • resetonunusualshutdown - 드라이버 검증 도구 유틸리티는 비정상적으로 종료될 때까지 유지됩니다. 약어인 'rous'를 사용할 수 있습니다.
/운전사 <driverlist> 하나 이상의 확인할 드라이버를 지정합니다. 드라이버 목록 매개 변수는 driver.sys와 같은 이진 이름별 드라이버 목록입니다. 공백을 사용해 각 드라이버 이름을 구분하세요. 와일드카드 값(예: n*.sys)은 지원되지 않습니다.
/드라이버.제외 <driverlist> 확인에서 제외될 드라이버를 하나 이상 지정합니다. 이 매개 변수는 모든 드라이버가 확인용으로 선택된 경우에만 적용됩니다. 드라이버 목록 매개 변수는 driver.sys와 같은 이진 이름별 드라이버 목록입니다. 공백을 사용해 각 드라이버 이름을 구분하세요. 와일드카드 값(예: n*.sys)은 지원되지 않습니다.
/오류 드라이버 검증 도구 유틸리티에서 낮은 리소스 시뮬레이션 기능을 사용하도록 설정합니다. 대신 /flags 0x4를 사용할 수 있습니다. 단, /flags 0x4 하위 매개 변수와 함께 을(를) 사용할 수 없습니다. 다음과 같은 /faults 매개 변수의 하위 매개 변수를 사용하여 낮은 리소스 시뮬레이션을 구성할 수 있습니다.
  • 확률 - 드라이버 검증 도구 유틸리티가 주어진 할당에 실패할 확률을 지정합니다. 드라이버 검증 도구 유틸리티가 할당에 실패할 확률을 10,000분의 1로 나타내는 숫자(10진수 또는 16진수)로 입력합니다. 기본값인 600은 600/10,000 또는 6%를 의미합니다.
  • 풀 태그 - 지정된 풀 태그에 대해 드라이버 검증 도구 유틸리티가 할당에 실패할 수 있는 할당을 제한합니다. 와일드카드 문자(*)를 사용해 다양한 풀 태그를 나타낼 수 있습니다. 태그를 공백으로 구분하여 여러 풀 태그를 나열하세요. 기본적으로 모든 할당이 실패할 수 있습니다.
  • 애플리케이션 - 지정된 프로그램에 대해 드라이버 검증 도구 유틸리티가 할당에 실패할 수 있는 할당을 제한합니다. 실행 파일의 이름을 입력하세요. 프로그램을 나열하려면 공백을 사용해 프로그램 이름을 구분하세요. 기본적으로 모든 할당이 실패할 수 있습니다.
  • DelayMins - 드라이버 검증 도구 유틸리티가 부팅 후 의도적으로 할당에 실패하지 않는 시간(분)을 지정합니다. 이러한 지연은 테스트 시작 전 드라이버를 로드하고 시스템을 안정화할 수 있게 해줍니다. 숫자를 10진수 또는 16진수로 입력하세요. 기본값은 7(분)입니다.
/faultssystematic 체계적인 낮은 리소스 시뮬레이션에 대한 옵션을 지정합니다. 0x40000플래그를 사용하여 체계적인 낮은 리소스 시뮬레이션 옵션을 선택하세요. 다음 옵션을 사용할 수 있습니다.
  • enableboottime - 컴퓨터 재부팅에서 오류 삽입을 활성화합니다.
  • disableboottime - 컴퓨터 재부팅에서 오류 삽입을 비활성화합니다(기본 설정임).
  • recordboottime - 컴퓨터에서 what if 모드가 재부팅되는 경우 오류 삽입을 활성화합니다.
  • resetboottime - 컴퓨터 재부팅에서 오류 삽입을 비활성화 하고 스택 제외 목록을 지웁니다.
  • enableruntime - 동적으로 오류 삽입을 활성화합니다.
  • disableruntime - 동적으로 오류 삽입을 비활성화합니다.
  • recordruntime - what if 모드에서 동적으로 오류 삽입을 활성화합니다.
  • resetruntime - 동적으로 오류 삽입을 비활성화하고 이전에 오류가 발생한 스택 목록을 지웁니다.
  • querystatistics - 현재 오류 삽입 통계를 나타냅니다.
  • incrementcounter - 오류 삽입 시기 식별에 사용되는 테스트 패스 카운터를 증분합니다.
  • getstackid COUNTER - 지정되어 삽입한 스택 식별자를 검색합니다.
  • excludestack STACKID - 오류 삽입에서 스택을 제외합니다.
/플래그 <options> 다음 번 재부팅 후 지정된 옵션을 활성화합니다. 이 숫자는 10진수 또는 16진수(0x 접두사) 형식으로 입력할 수 있습니다. 다음 값의 조합은 모두 허용됩니다.
/플래그 <volatileoptions> 재부팅하지 않고 즉시 변경되는 드라이버 검증 도구 유틸리티 옵션을 지정합니다. 이 숫자는 10진수 또는 16진수(0x 접두사) 형식으로 입력할 수 있습니다. 다음 값의 조합은 모두 허용됩니다.
  • 값: 1 또는 0x1(비트 0) - 특수 풀
  • 값: 2 또는 0x2(비트 1) - 강제 IRQL 검사
  • 값: 4 또는 0x4(비트 2) - 낮은 리소스 시뮬레이션
<probability> 1에서 10000 오류 주입 확률 지정 사이의 숫자입니다. 예를 들어 100 지정 오류 주입 확률이 1% (100/10000)를 의미 합니다.

이 매개 변수를 지정하지 않을 경우 기본 확률인 6%가 사용됩니다.

<tags> 공백 문자로 구분 된 오류와 삽입 되는 풀 태그를 지정 합니다. 이 매개 변수를 지정하지 않으면 오류와 함께 모든 풀 할당이 삽입될 수 있습니다.
<apps> 오류가 삽입될 앱의 이미지 파일 이름을 공백 문자로 구분해 지정합니다. 이 매개 변수를 지정하지 않으면 모든 애플리케이션에서 리소스 부족 시뮬레이션이 수행될 수 있습니다.
<minutes> 삽입이 발생 하는 동안 오류는 없음을 분 후에 다시 부팅 한 후 기간의 길이 지정 하는 양수입니다. 이 매개 변수를 지정하지 않으면 기본 길이인 8분이 사용됩니다.
/아이오레벨 <level> I/O 확인 수준을 지정합니다. [수준]의 값은 1 - 수준 1 I/O 확인 활성화(기본값) 또는 2 - 수준 1 I/O 확인 및 수준 2 I/O 확인 활성화가 될 수 있습니다. I/O 확인을 사용하도록 설정하지 않을 경우(/flags 0x10을 사용하여), /iolevel은 무시됩니다.
/로그 <logfilename> [/intervalseconds] 지정된 이름을 사용하여 로그 파일을 생성합니다. 드라이버 검증 유틸리티는 선택적으로 설정한 간격에 따라 주기적으로 이 파일에 통계를 기록합니다. 기본 간격은 30초입니다.

명령줄에 검증 도구 /log 명령을 입력하면 명령 프롬프트가 반환되지 않습니다. Ctrl+C 키를 사용하면 로그 파일을 닫고 프롬프트를 반환할 수 있습니다. 재부팅 이후 로그를 생성하려면 검증 도구 /log 명령을 다시 제출해야 합니다.

/규칙 <option> 비활성화할 수 있는 규칙에 대한 옵션은 다음과 같습니다.
  • 쿼리 - 제어 가능한 규칙의 현재 상태를 보여줍니다.
  • 재설정 - 모든 규칙을 기본 상태로 초기화합니다.
  • 기본 ID - 규칙 ID를 기본 상태로 설정합니다. 지원되는 규칙의 규칙 ID는 버그 검사 0xC4(DRIVER_VERIFIER_DETECTED_VIOLATION) 매개 변수 1 값입니다.
  • 비활성 ID - 지정된 규칙 ID를 비활성화합니다. 지원되는 규칙의 규칙 ID는 버그 검사 0xC4(DRIVER_VERIFIER_DETECTED_VIOLATION) 매개 변수 1 값입니다.
/표준 다음 재시작 이후 ' 표준' 또는 기본 드라이버 검증 도구 옵션을 활성화합니다. 표준 옵션은 특수 풀, 강제 IRQL 검사, 풀 추적, I/O 확인, 교착 상태 검색, DMA 확인, 보안 검사, 기타 검사 및 DDI 준수 검사입니다. /flags 0x209BB와 동일합니다.

[! 참고] 1803년 이후의 Windows 10 버전부터는 /flags 0x209BB을(를) 사용해도 WDF 확인이 자동으로 활성화되지 않습니다. WDF 확인이 포함된 표준 옵션을 활성화하려면 /standard 구문을 사용하세요.

/휘발성의 컴퓨터를 재부팅하지 않고 설정을 변경합니다. 휘발성 설정이 즉시 적용됩니다.

/flags 매개 변수와 /volatile 매개 변수를 함께 사용하면 재부팅하지 않고도 일부 옵션을 활성 또는 비활성화할 수 있습니다. 드라이버 검증 도구 유틸리티가 실행되고 있지 않더라도 /volatile/adddriver/removedriver 매개 변수와 함께 사용하면 재부팅하지 않고도 드라이버 확인을 시작 또는 중지할 수 있습니다. 자세한 내용은 휘발성 설정 사용하기를 참조하세요.

/애드드라이버 <volatiledriverlist> 휘발성 설정에서 지정된 드라이버를 추가합니다. 여러 드라이버 지정을 위해 드라이버 이름을 공백으로 구분해 나열합니다. n.sys 같은 와일드카드 값은 지원되지 않습니다.
/리모드라이버 <volatiledriverlist> 휘발성 설정에서 지정된 드라이버를 삭제합니다. 여러 드라이버 지정을 위해 드라이버 이름을 공백으로 구분해 나열합니다. n.sys 같은 와일드카드 값은 지원되지 않습니다.
/재설정 드라이버 검증 도구 유틸리티 설정을 모두 지웁니다. 다음에 다시 시작한 후에는 드라이버가 확인되지 않습니다.
/쿼리 설정 활성화될 옵션 및 다음 부팅 후에 확인될 드라이버에 대한 요약을 표시합니다. 디스플레이에는 /volatile 매개 변수를 사용해 추가된 드라이버와 옵션이 포함되지 않습니다. 이러한 설정을 보는 다른 방법을 확인하려면 드라이버 검증 설정 보기를 참조하세요.
/ 쿼리 드라이버 검증 도구 유틸리티의 현재 활동을 요약해 표시합니다. 디스플레이의 수준 필드는 /volatile 매개 변수로 설정된 옵션의 16진수 값입니다. 각 통계에 대한 설명은 전역 카운터 모니터링개별 카운터 모니터링을 참조하세요.
/도메인 <types> <options> 검증 도구 확장 설정을 제어합니다. 지원되는 검증 도구 확장 유형은 다음과 같습니다.
  • wdm - WDM 드라이버에 대해 검증 도구 확장을 활성화합니다.
  • ndis - 네트워킹 드라이버에 대해 검증 도구 확장을 활성화합니다.
  • ks - 커널 모드 스트리밍 드라이버에 대해 검증 도구 확장을 활성화합니다.
  • audio - 오디오 드라이버에 대해 검증 도구 확장을 활성화합니다.
. 지원되는 확장 옵션은 다음과 같습니다.
  • rules.default - 선택한 검증 도구 확장에 대한 기본 유효성 검사 규칙을 활성화합니다.
  • rules.all - 선택한 검증 도구 확장에 대한 모든 유효성 검사 규칙을 활성화합니다.
/로깅 선택한 검증 도구 확장에서 검색된 위반 규칙에 대한 로깅을 활성화합니다.
/라이브 덤프 선택한 검증 도구 확장에서 검색된 위반 규칙에 대해 라이브 메모리 덤프 수집을 활성화합니다.
:\ 명령줄 도움말을 표시합니다.

반환 코드

드라이버 검증 도구가 실행된 후 반환되는 값은 다음과 같습니다.

  • 0: EXIT_CODE_SUCCESS

  • 1: EXIT_CODE_ERROR

  • 2: EXIT_CODE_REBOOT_NEEDED

설명

  • /volatile 매개 변수는 드라이버 검증 도구 유틸리티의 일부인 /flags 옵션 및 /standard와 함께 사용 가능합니다. DDI 준수 확인, 파워 프레임워크 지연 퍼지, Storport 확인 또는 SCSI 확인의 경우 /flags 옵션과 함께 /volatile을 사용할 수 없습니다. 자세한 내용은 휘발성 설정 사용하기를 참조하세요.