버그 검사 0x133 DPC_WATCHDOG_VIOLATION

DPC_WATCHDOG_VIOLATION 버그 검사의 값은 0x00000133. 이 버그 검사는 DPC Watchdog가 실행되었음을 나타냅니다. DPC(장기 실행 지연 프로시저 호출)가 하나 감지되었거나 시스템이 DISPATCH_LEVEL 이상의 인터럽트 요청 수준(IRQL)에서 장시간 소요했기 때문입니다. 매개 변수 1의 값은 단일 DPC가 시간 초과되었는지 또는 시스템이 IRQL DISPATCH_LEVEL 이상에서 누적적으로 오랜 시간을 보냈는지 여부를 나타냅니다. DPC는 100 마이크로초보다 오래 실행해서는 안 되며 ISR은 25 마이크로초보다 오래 실행되지 않아야 하지만 시스템의 실제 시간 제한 값은 훨씬 더 높게 설정됩니다.

중요

이 항목은 프로그래머를 위한 것입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 파란색 화면 오류 문제 해결을참조하세요.

DPC_WATCHDOG_VIOLATION 매개 변수

매개 변수 1은 위반 유형을 나타냅니다. 다른 매개 변수의 의미는 매개 변수 1의 값에 따라 달라집니다.

매개 변수 1 매개 변수 2 매개 변수 3 매개 변수 4 오류 원인

0

DPC 시간 수(틱)

DPC 시간 할당(틱)입니다.

예약됨

단일 DPC 또는 ISR이 시간 할당을 초과했습니다. 일반적으로 잘못된 구성 요소는 스택 추적을 통해 식별할 수 있습니다.

1

Watchdog 기간

예약됨

예약됨

시스템은 IRQL DISPATCH_LEVEL 이상에서 누적적으로 오랜 시간을 보냈습니다. 일반적으로 잘못된 구성 요소는 스택 추적을 통해 식별할 수 있습니다.

원인

!analyze 디버그 확장은 버그 검사에 대한 정보를 표시하며 근본 원인을 확인하는 데 유용할 수 있습니다.

매개 변수 1 = 0

이 예제에서 틱 개수 501은 DPC 시간 할당 500을 초과합니다. 이미지 이름은 버그 검사가 발생했을 때 이 코드가 실행 중임을 나타냅니다.

0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DPC_WATCHDOG_VIOLATION (133)
The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL
or above.
Arguments:
Arg1: 0000000000000000, A single DPC or ISR exceeded its time allotment. The offending
    component can usually be identified with a stack trace.
Arg2: 0000000000000501, The DPC time count (in ticks).
Arg3: 0000000000000500, The DPC time allotment (in ticks).
Arg4: 0000000000000000

...

IMAGE_NAME:  BthA2DP.sys
...

다음 디버거 명령을 사용하여 매개 변수가 0인 오류에 대한 자세한 정보를 수집합니다.

k(스택 역추적 표시)를 사용하여 중지 코드가 발생했을 때 실행 중인 코드를 살펴봅니다.

u, ub, uu(Unassemble) 명령을 사용하여 실행 중인 코드의 세부 사항을 자세히 살펴볼 수 있습니다.

!pcr 확장은 특정 프로세서에서 PCR(프로세서 제어 영역)의 현재 상태를 표시합니다. 출력에서 Prcb의 주소가 됩니다.

                     Prcb: fffff80309974180

dt(표시 형식) 명령을 사용하여 DPC 및 DPC Watchdog에 대한 추가 정보를 표시할 수 있습니다. 주소의 경우 !pcr 출력에 나열된 Prcb를 사용합니다.

dt nt!_KPRCB fffff80309974180 Dpc* 

매개 변수 1 = 1

매개 변수 1의 경우 코드가 잘못된 코드 영역에서 중지되지 않을 수 있습니다. 이 경우 한 가지 방법은 이벤트 추적을 사용하여 정상 실행 기간을 초과하는 드라이버를 추적하려고 시도하는 것입니다.

자세한 내용은 아래 항목을 참조하세요.

Windows 디버거를 사용한 크래시 덤프 분석(WinDbg)

WinDbg를 Kernel-Mode 덤프 파일 분석

!analyze 확장!analyze 사용

설명

일반적으로 이 중지 코드는 특정 조건에서 할당된 시간 프레임 내에 작업을 완료하지 않는 잘못된 드라이버 코드로 인해 발생합니다.

이 문제에 Windows 디버거를 사용할 준비가 되지 않은 경우 몇 가지 기본적인 문제 해결 기술을 사용해야 합니다.

  • 버그 검사 메시지에서 드라이버가 식별되면 문제를 격리하려면 드라이버를 사용하지 않도록 설정합니다. 드라이버 업데이트는 제조업체에 문의하세요.

  • 버그 검사 0x133 발생시키는 디바이스 또는 드라이버를 식별하는 데 도움이 될 수 있는 추가 오류 메시지는 시스템 로그인 이벤트 뷰어 확인합니다.

  • 설치된 새 하드웨어가 설치된 Windows 버전과 호환되는지 확인합니다. 예를 들어 Windows 10 사양 에서 필요한 하드웨어에 대한 정보를 얻을 수 있습니다.

  • 일반적인 추가 문제 해결 정보는 Blue Screen Data 를 참조하세요.