버그 검사 0x20: KERNEL_APC_PENDING_DURING_EXIT

KERNEL_APC_PENDING_DURING_EXIT 버그 검사 값은 0x00000020. 이는 스레드가 종료될 때 APC(비동기 프로시저 호출)가 여전히 보류 중임을 나타냅니다.

중요

이 문서는 프로그래머를 위한 것입니다. 컴퓨터를 사용하는 동안 블루 스크린 오류 코드를 받은 고객인 경우 블루 스크린 오류 문제 해결을 참조하세요.

KERNEL_APC_PENDING_DURING_EXIT 매개 변수

매개 변수 Description

1

종료 중에 보류 중인 APC의 주소

2

스레드의 APC 사용 안 함 수

3

현재 IRQL

4

예약됨

원인

주요 데이터 항목은 스레드에 대한 APC 사용 안 함 수(매개 변수 2)입니다. 개수가 0이 아닌 경우 문제의 원인을 나타냅니다.

APC 사용 안 함 수는 드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 감소합니다.

드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다.

이러한 호출은 항상 쌍으로 되어 있어야 하므로 스레드가 종료될 때 APC 사용 안 함 수는 0이어야 합니다. 음수 값은 드라이버가 APC 호출을 다시 사용하도록 설정하지 않고 사용하지 않도록 설정했음을 나타냅니다. 양수 값은 역방향이 true임을 나타냅니다.

이 오류가 표시되면 컴퓨터에 설치된 모든 드라이버( 특히 비정상적이거나 비표준 드라이버)가 매우 의심스럽습니다.

이 현재 IRQL(매개 변수 3)은 0이어야 합니다. 그렇지 않은 경우 드라이버의 취소 루틴으로 인해 관리자 권한 IRQL에서 반환하여 이 버그 검사 발생할 수 있습니다. 이 경우 충돌 시 실행된 내용(및 종료된 항목)을 주의 깊게 확인하고 충돌 시 설치된 모든 드라이버를 기록해 둡니다. 이 경우의 원인은 일반적으로 드라이버의 심각한 버그입니다.

해결 방법

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