버그 검사 0x1: APC_INDEX_MISMATCH

APC_INDEX_MISMATCH 버그 검사 값은 0x00000001. 버그 검사 APC(비동기 프로시저 호출) 상태 인덱스가 일치하지 않음을 나타냅니다.

중요

이 문서는 프로그래머용입니다. Microsoft 고객이고 컴퓨터에 파란색 화면 오류 코드가 표시되는 경우 블루 스크린 오류 문제 해결을 참조하세요.

APC_INDEX_MISMATCH 매개 변수

매개 변수 Description
1 시스템 함수(시스템 호출) 또는 작업자 루틴의 주소입니다.
2 현재 스레드의 ApcStateIndex 필드 값입니다.
3 현재 스레드의 CombinedApcDisable 필드 값입니다. 이 필드는 별도의 두 개의 16비트 필드로 구성됩니다. (Thread>SpecialApcDisable<< 16) | 스레드>KernelApcDisable.
4 호출 유형:
0 - 시스템 호출
1 - 작업자 루틴

원인

이 버그 검사 가장 일반적인 원인은 파일 시스템 또는 드라이버가 APC를 사용하지 않도록 설정하고 다시 사용하도록 설정하는 호출 시퀀스가 일치하지 않는 경우입니다. 주요 데이터 항목은 Thread>CombinedApcDisable 필드입니다. CombinedApcDisable 필드는 SpecialApcDisableKernelApcDisable의 두 개의 개별 16비 필드로 구성됩니다. 두 필드의 음수 값은 드라이버가 다시 사용하도록 설정하지 않고 특수 또는 일반 APC(각각)를 사용하지 않도록 설정했음을 나타냅니다. 양수 값은 드라이버가 특수 또는 일반 APC를 너무 많이 사용하도록 설정했음을 나타냅니다.

해결 방법

WinDbg를 사용하거나 기본 문제 해결 기술을 사용하여 이 문제를 resolve 수 있습니다.

WinDbg를 사용하여 디버그

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

!apc 확장을 사용하여 하나 이상의 APC의 콘텐츠를 표시할 수 있습니다.

이 중지 코드 앞에 오는 코드에서 중단점을 설정하고 오류 코드로 한 단계 앞으로 나아갈 수도 있습니다.

WinDbg 사용에 대한 자세한 내용은 Windows 디버거를 사용한 크래시 덤프 분석(WinDbg)을 참조하세요.

WinDbg를 사용하지 않고 디버그

Windows 디버거를 사용하여 이 문제를 해결할 준비가 되지 않은 경우:

  • 이벤트 뷰어 시스템 로그를 검사 이 버그를 일으키는 디바이스 또는 드라이버를 식별하는 데 도움이 될 수 있는 더 많은 오류 메시지가 검사.

  • 버그 검사 메시지에서 드라이버가 식별되면 드라이버를 사용하지 않도록 설정하거나 드라이버 업데이트를 위해 제조업체와 검사.

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

일반적인 문제 해결 정보는 블루 스크린 데이터를 참조하세요.

설명

이 버그 검사 커널의 내부 오류 결과입니다. 이 오류는 시스템 호출을 종료할 때 발생합니다. 이 버그 검사 가능한 원인은 보호되거나 중요한 지역을 입력하거나 나가기 위한 시스템 호출 시퀀스가 일치하지 않는 파일 시스템 또는 드라이버입니다. 예를 들어 KeEnterCriticalRegion에 대한 각 호출에는 KeLeaveCriticalRegion에 대한 일치하는 호출이 있어야 합니다.

드라이버를 개발하는 경우 Windows 드라이버 키트에서 사용할 수 있는 정적 분석 도구인 정적 드라이버 검증 도구를 사용하여 드라이버를 배송하기 전에 코드에서 문제를 검색할 수 있습니다. CriticalRegions 규칙을 사용하여 정적 드라이버 검증 도구 를 실행하여 소스 코드가 이러한 시스템 호출을 올바른 순서로 사용하는지 확인합니다.

추가 정보

버그 검사 코드 참조