verifier

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

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

Important

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

구문

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

매개 변수

매개 변수 설명
/all 드라이버 검증 도구 유틸리티에 다음 부팅 후 설치된 모든 드라이버를 확인하도록 지시합니다.
/bootmode [persistent \| disableafterfail \| oneboot \| resetonunusualshutdown] 다시 부팅한 후 드라이버 검증 도구 유틸리티에 대한 설정을 사용할 수 있는지 여부를 제어합니다. 이 옵션을 설정하거나 변경하려면 컴퓨터를 다시 부팅해야 합니다. 사용할 수 있는 모드는 다음과 같습니다.
  • persistent - 드라이버 검증 도구 설정이 많은 재부팅에 대해 유지(계속 적용)되도록 합니다. 이것이 기본 설정입니다.
  • disableafterfail - Windows가 시작되지 않으면 이 설정은 후속 재부팅에 대해 드라이버 검증 도구 유틸리티를 사용하지 않도록 설정합니다.
  • oneboot - 다음에 컴퓨터가 시작될 때만 드라이버 검증 도구 설정을 사용하도록 설정합니다. 드라이버 검증 도구 유틸리티는 후속 재부팅에 사용할 수 없습니다.
  • resetonunusualshutdown - 드라이버 검증 도구 유틸리티는 비정상적인 종료가 발생할 때까지 유지됩니다. 약어인 'rous'를 사용할 수 있습니다.
/드라이버 <driverlist> 확인할 드라이버를 하나 이상 지정합니다. 드라이버 목록 매개 변수는 driver.sys 같은 이진 이름별 드라이버 목록입니다. 공백을 사용하여 각 드라이버 이름을 구분합니다. 와일드카드 값(예: n*.sys)은 지원되지 않습니다.
/driver.exclude <driverlist> 확인에서 제외될 하나 이상의 드라이버를 지정합니다. 이 매개 변수는 모든 드라이버가 확인을 위해 선택된 경우에만 적용됩니다. 드라이버 목록 매개 변수는 driver.sys 같은 이진 이름별 드라이버 목록입니다. 공백을 사용하여 각 드라이버 이름을 구분합니다. 와일드카드 값(예: n*.sys)은 지원되지 않습니다.
/오류 드라이버 검증 도구 유틸리티에서 낮은 리소스 시뮬레이션 기능을 사용하도록 설정합니다. 대신 /faults를/flags 0x4사용할 수 있습니다. 그러나 /faults 하위 매개 변수에는 사용할 /flags 0x4 수 없습니다. /faults 매개 변수의 다음 하위 매개 변수를 사용하여 낮은 리소스 시뮬레이션을 구성할 수 있습니다.
  • Probability - 드라이버 검증 도구 유틸리티가 지정된 할당에 실패할 확률을 지정합니다. 10,000에서 드라이버 검증 도구 유틸리티가 할당에 실패할 확률의 수를 나타내려면 숫자를 10진수 또는 16진수로 입력합니다. 기본값인 600은 600/10000 또는 6%를 의미합니다.
  • 풀 태그 - 드라이버 검증 도구 유틸리티가 지정된 풀 태그를 사용하여 할당에 실패할 수 있는 할당을 제한합니다. 와일드카드 문자(*)를 사용하여 여러 풀 태그를 나타낼 수 있습니다. 여러 풀 태그를 나열하려면 태그를 공백으로 구분합니다. 기본적으로 모든 할당이 실패할 수 있습니다.
  • 애플리케이션 - 드라이버 검증 도구 유틸리티가 지정된 프로그램에 대한 할당에 실패할 수 있는 할당을 제한합니다. 실행 파일의 이름을 입력합니다. 프로그램을 나열하려면 프로그램 이름을 공백으로 구분합니다. 기본적으로 모든 할당이 실패할 수 있습니다.
  • DelayMins - 드라이버 검증 도구 유틸리티가 의도적으로 할당에 실패하지 않는 동안 부팅한 후의 시간(분)을 지정합니다. 이 지연을 통해 테스트가 시작되기 전에 드라이버를 로드하고 시스템을 안정화할 수 있습니다. 숫자를 10진수 또는 16진수로 입력합니다. 기본값은 7(분)입니다.
/faultssystematic 체계적인 낮은 리소스 시뮬레이션에 대한 옵션을 지정합니다 . 플래그를 0x40000 사용하여 체계적인 낮은 리소스 시뮬레이션 옵션을 선택합니다. 다음과 같은 옵션을 사용할 수 있습니다.
  • enableboottime - 컴퓨터 재부팅에서 오류 주입을 사용하도록 설정합니다.
  • disableboottime - 컴퓨터 재부팅에서 오류 주입을 사용하지 않도록 설정합니다(기본 설정임).
  • recordboottime - 컴퓨터에서 모드가 다시 부팅되는 경우 오류 주입을 사용하도록 설정합니다.
  • 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분 이 사용됩니다.
/iolevel <level> I/O 확인 수준을 지정합니다. [수준]의 값은 1수 있습니다. 수준 1 I/O 확인(기본값) 또는 2를 사용하도록 설정 - 수준 1 I/O 확인 및 수준 2 I/O 확인을 사용하도록 설정합니다. I/O 확인을 사용하도록 설정하지 않으면(사용 /flags 0x10) /iolevel 이 무시됩니다.
/log <logfilename> [/intervalseconds] 지정된 이름을 사용하여 로그 파일을 만듭니다. 드라이버 검증 도구 유틸리티는 선택적으로 설정한 간격에 따라 주기적으로 이 파일에 통계를 씁니다. 기본 간격은 30초입니다.

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

/규칙 <option> 다음을 포함하여 사용하지 않도록 설정할 수 있는 규칙에 대한 옵션:
  • 쿼리 - 제어 가능한 규칙의 현재 상태 표시합니다.
  • reset - 모든 규칙을 기본 상태로 다시 설정합니다.
  • 기본 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 확인을 자동으로 사용하도록 설정하지 않습니다. /standard 구문을 사용하여 WDF 확인이 포함된 표준 옵션을 사용하도록 설정합니다.

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

/flags 매개 변수와 함께 /volatile 매개 변수를 사용하여 다시 부팅하지 않고 일부 옵션을 사용하거나 사용하지 않도록 설정할 수 있습니다. /adddriver 및 /removedriver 매개 변수와 함께 /volatile를 사용하여 드라이버 검증 도구 유틸리티가 실행되고 있지 않더라도 다시 부팅하지 않고 드라이버 확인을 시작하거나 중지할 수 있습니다. 자세한 내용은 Volatile 설정 사용을 참조하세요.

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

반환 코드

드라이버 검증 도구가 실행된 후 다음 값이 반환됩니다.

  • 0: EXIT_CODE_SUCCESS

  • 1: EXIT_CODE_ERROR

  • 2: EXIT_CODE_REBOOT_NEEDED

설명