CREATE_PROCESS_DEBUG_INFO 구조체(minwinbase.h)
디버거에서 사용할 수 있는 프로세스 만들기 정보를 포함합니다.
구문
typedef struct _CREATE_PROCESS_DEBUG_INFO {
HANDLE hFile;
HANDLE hProcess;
HANDLE hThread;
LPVOID lpBaseOfImage;
DWORD dwDebugInfoFileOffset;
DWORD nDebugInfoSize;
LPVOID lpThreadLocalBase;
LPTHREAD_START_ROUTINE lpStartAddress;
LPVOID lpImageName;
WORD fUnicode;
} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
멤버
hFile
프로세스의 이미지 파일에 대한 핸들입니다. 이 멤버가 NULL이면 핸들이 유효하지 않습니다. 그렇지 않으면 디버거가 멤버를 사용하여 이미지 파일에서 읽고 쓸 수 있습니다.
디버거가 이 파일로 완료되면 CloseHandle 함수를 사용하여 핸들을 닫아야 합니다.
hProcess
프로세스에 대한 핸들입니다. 이 멤버가 NULL이면 핸들이 유효하지 않습니다. 그렇지 않으면 디버거는 멤버를 사용하여 프로세스의 메모리에서 읽고 쓸 수 있습니다.
hThread
hProcess 멤버로 식별되는 프로세스의 초기 스레드에 대한 핸들입니다. hThread 매개 변수가 NULL이면 핸들이 유효하지 않습니다. 그렇지 않으면 디버거에 스레드에 대한 THREAD_GET_CONTEXT, THREAD_SET_CONTEXT 및 THREAD_SUSPEND_RESUME 액세스 권한이 있으므로 디버거가 스레드의 레지스터에서 읽고 쓰며 스레드 실행을 제어할 수 있습니다.
lpBaseOfImage
프로세스가 실행 중인 실행 파일 이미지의 기본 주소입니다.
dwDebugInfoFileOffset
hFile 멤버로 식별된 파일의 디버깅 정보에 대한 오프셋입니다.
nDebugInfoSize
파일의 디버깅 정보 크기(바이트)입니다. 이 값이 0이면 디버깅 정보가 없습니다.
lpThreadLocalBase
데이터 블록에 대한 포인터입니다. 이 블록에 대한 오프셋 0x2C 모듈별 스레드 로컬 스토리지 블록 배열을 가리키는 라는 또 다른 포인터 ThreadLocalStoragePointer
입니다. 이렇게 하면 컴파일러에서 사용하는 것과 동일한 알고리즘을 사용하여 디버그되는 프로세스의 스레드에 있는 스레드당 데이터에 대한 디버거 액세스 권한이 제공됩니다.
lpStartAddress
스레드의 시작 주소에 대한 포인터입니다. 이 값은 스레드에 대한 적절한 액세스 권한이 있는 애플리케이션이 SetThreadContext 함수를 사용하여 스레드의 컨텍스트를 변경할 수 있기 때문에 스레드의 시작 주소에 대한 근사치일 수 있습니다.
lpImageName
hFile 멤버와 연결된 파일 이름에 대한 포인터입니다. 이 매개 변수는 NULL이거나 디버그 중인 프로세스의 주소 공간에 문자열 포인터의 주소를 포함할 수 있습니다. 이 주소는 NULL 이거나 실제 파일 이름을 가리킬 수 있습니다. fUnicode가 0이 아닌 값이면 이름 문자열은 유니코드이고, 그렇지 않으면 ANSI입니다.
이 멤버는 엄격하게 선택 사항입니다. 디버거는 lpImageName 이 NULL 이거나 *lpImageName (디버그 중인 프로세스의 주소 공간)이 NULL인 경우를 처리하도록 준비해야 합니다. 특히 시스템은 create process 이벤트에 대한 이미지 이름을 제공하지 않으며 첫 번째 DLL 이벤트에 대한 이미지 이름을 전달할 가능성이 없습니다. 또한 시스템은 DebugActiveProcess 함수 호출에서 발생하는 디버그 이벤트의 경우 이 정보를 제공하지 않습니다.
fUnicode
lpImageName 멤버로 지정된 파일 이름이 유니코드인지 ANSI인지 여부를 나타내는 값입니다. 0이 아닌 값은 유니코드를 나타냅니다. 0은 ANSI를 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | minwinbase.h(Windows.h 포함) |