다음을 통해 공유


버그 검사 0x5: INVALID_PROCESS_ATTACH_ATTEMPT

INVALID_PROCESS_ATTACH_ATTEMPT 버그 검사 값은 0x00000005. 이는 일반적으로 스레드가 허용되지 않는 상황에서 프로세스에 연결되었음을 나타냅니다. 예를 들어 스레드가 프로세스에 이미 연결되었을 때(잘못된) KeAttachProcess가 호출되었거나 특정 함수에서 반환된 스레드가 연결된 상태(유효하지 않음)로 반환된 경우 이 버그 검사 발생할 수 있습니다.

이 버그 검사 자주 나타나지 않습니다.

중요

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

INVALID_PROCESS_ATTACH_ATTEMPT 매개 변수

매개 변수 Description

1

대상 프로세스의 디스패처 개체에 대한 포인터이거나 스레드가 이미 연결된 경우 원래 프로세스의 개체에 대한 포인터입니다.

2

현재 스레드가 현재 연결된 프로세스의 디스패처 개체에 대한 포인터입니다.

3

스레드의 APC 상태 인덱스 값입니다.

4

0이 아닌 값은 DPC가 현재 프로세서에서 실행 중임을 나타냅니다.

설명

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

드라이버가 KeAttachProcess 함수를 호출하고 스레드가 이미 다른 프로세스에 연결된 경우 이 버그 검사 발생할 수 있습니다. KeStackAttachProcess 함수를 사용하는 것이 좋습니다. 현재 스레드가 이미 다른 프로세스에 연결된 경우 KeStackAttachProcess 함수는 현재 스레드를 새 프로세스에 연결하기 전에 현재 APC 상태를 저장합니다. KeStackAttachProcess를 잘못 호출하면 DPC가 현재 프로세서에서 실행되는 경우와 같이 이 버그 검사 발생할 수도 있습니다.

이 영역에 대한 일반적인 내용은 Windows Kernel-Mode Process 및 Thread Manager 작업 및커널 디스패처 개체 소개를 참조하세요.