다음을 통해 공유


디바이스 기본 사항 테스트를 사용하여 디바이스 관리자 문제 코드 재현

DevFund(디바이스 기본 사항) 테스트는 Microsoft에서 제공하는 I/O 플러그 인을 통해 디바이스를 사용하지 않도록 설정하고 사용하도록 설정하는 동안 디바이스 클래스별 I/O를 디바이스에 전송하고, 전원 상태 및 재부팅을 통해 시스템을 순환하고, 리소스를 할당 취소 및 재할당하고, 기타 작업을 수행하여 디바이스를 실행합니다.

1단계: 디바이스 오류 코드를 재현할 수 있는 테스트 확인

다음 표는 디바이스 문제 코드를 유도하는 방식으로 디바이스를 실행하기 위해 해당 문제 코드와 일치하는 알려진 테스트를 검색합니다. 이 차트는 디바이스 및 드라이버 테스터가 있는 그대로의 상태에서 볼 수 있는 디바이스 문제 또는 정기적인 테스트 중에 재현하기 어려울 수 있는 문제를 재현하기 위해 사용할 수 있습니다.

디바이스 오류 코드 디바이스 오류 메시지 디바이스 기본 사항 테스트
10 CM_PROB_FAILED_START DF - 디바이스 PNP 리밸런스 실패 다시 시작 테스트(안정성)
DF - 디바이스 PNP 안전하지 않은 제거 테스트(개발 및 통합)
DF - 디바이스 PNP 안전하지 않은 제거 테스트(안정성)
DF - PNP DIF 디바이스 제거 테스트(안정성)
DF - IO를 이용한 다시 부팅 다시 시작 전후 비교(안정성)
DF - 디바이스 PNP 취소 제거 테스트(안정성)
DF - 디바이스 PNP 사용 안 함 및 사용 테스트(안정성)
DF - 디바이스 PNP 리밸런스 새 리소스 요청 테스트(개발 및 통합)
DF - 디바이스 PNP 리밸런스 새 리소스 요청 테스트(안정성)
DF - 디바이스 PNP 제거 테스트(안정성)
DF - 디바이스 PNP 중지(리밸런스) 테스트(개발 및 통합)
DF - PNP 중지(리밸런스) 디바이스 테스트(안정성)
DF - IO를 이용한 사용 중 절전 모드(안정성)
DF - PCI 루트 포트 안전하지 않은 제거 테스트(PCI 디바이스만 해당)(안정성)
14 CM_PROB_NEED_RESTART DF - 디바이스 PNP 제거 테스트(안정성)
DF - PNP DIF 디바이스 제거 테스트(안정성)
28 CM_PROB_FAILED_INSTALL DF - PNP DIF 디바이스 제거 테스트(안정성)
31 CM_PROB_FAILED_ADD DF - PNP DIF 디바이스 제거 테스트(안정성)
DF - 디바이스 PNP 사용 안 함 및 사용 테스트(안정성)
DF - 디바이스 PNP 리밸런스 실패 다시 시작 테스트(안정성)
DF - 디바이스 PNP 제거 테스트(안정성)
38 CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD DF - PNP DIF 디바이스 제거 테스트(안정성)
39 CM_PROB_DRIVER_FAILED_LOAD DF - PNP DIF 디바이스 제거 테스트(안정성)
43 CM_PROB_FAILED_POST_START DF - 디바이스 PNP 취소 중지 테스트(안정성)
DF - 디바이스 PNP 취소 제거 테스트(안정성)
DF - 디바이스 PNP 리밸런스 실패 다시 시작 테스트(안정성)
DF - 디바이스 PNP 리밸런스 새 리소스 요청 테스트(안정성)
DF - 디바이스 PNP 제거 테스트(안정성)
DF - IO를 이용한 사용 중 절전 모드(안정성)
52 CM_PROB_UNSIGNED_DRIVER DF - 디바이스 PNP 사용 안 함 및 사용 테스트(안정성)

디바이스 오류 코드 목록은 디바이스 관리자 오류 메시지를 참조하세요.

디바이스 기본 사항 테스트의 전체 목록은 Device.DevFund 테스트를 참조하세요.

2단계: 테스트 및 테스트 머신을 구성하는 방법 결정

실행할 테스트를 결정한 후 오류를 재현하도록 테스트 및 테스트 머신을 구성하는 방법을 결정합니다. 각 테스트에서 지원하는 매개 변수를 보려면 위의 표에서 특정 테스트에 대한 링크를 클릭합니다. 그러면 테스트 및 해당 테스트에 사용할 수 있는 옵션이 설명됩니다. 예를 들어 일부 디바이스 PnP 오류는 산발적으로 발생합니다. /testcycles 스위치를 모든 테스트와 함께 사용하여 테스트를 실행할 횟수를 지정할 수 있습니다.

/p:testcycles=10

더 많은 반복으로 테스트를 실행하면 디바이스 오류가 발생할 가능성이 높아질 수 있습니다.

일부 테스트는 SetupAPI 로그를 생성합니다(예: DF - IO를 사용한 재설치 전후(안정성)).  자세한 SetupAPI 로그를 생성하도록 테스트 머신을 구성할 수 있습니다.

3단계: 테스트 실행

이러한 테스트는 HLK 컨트롤러를 설정한 후 HLK 또는 명령줄에서 쉽게 실행할 수 있습니다.

te.exe를 통해 명령줄에서 테스트를 실행하면 HLK를 통해 테스트를 실행하는 것보다 더 많은 테스트 옵션을 사용할 수 있습니다. 예를 들어 /breakonerror 명령줄 매개 변수를 사용하면 테스트에서 오류가 발생할 때 TAEF가 중단되고 디버거를 실행합니다. 명령줄에서 테스트를 실행할 때 te.exe에 제공할 수 있는 더 많은 명령줄 옵션이 있습니다.

4단계: 문제 디버그

디바이스 및 드라이버 문제를 조사하는 데 사용할 수 있는 많은 도움말이 있습니다. 테스트 로그를 검토하고 커널 디버거를 사용하여 디바이스 및 드라이버 문제를 조사하는 방법에 대한 자세한 내용은 문제 해결 설명서를 참조하세요.