IDebugClient::CreateProcessAndAttach 메서드(dbgeng.h)
CreateProcessAndAttach 메서드는 지정된 명령줄에서 프로세스를 만든 다음 다른 사용자 모드 프로세스에 연결합니다. 생성된 프로세스는 일시 중단되며 연결이 완료된 경우에만 실행할 수 있습니다. 이렇게 하면 클라이언트 및 서버 프로세스를 디버깅할 때 대략적인 동기화가 가능합니다.
구문
HRESULT CreateProcessAndAttach(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
매개 변수
[in] Server
프로세스에 연결하는 데 사용할 프로세스 서버를 지정합니다. 서버가 0이면 엔진은 프로세스 서버를 사용하지 않고 로컬 프로세스에 연결합니다.
[in, optional] CommandLine
새 프로세스를 만들기 위해 실행할 명령줄을 지정합니다. CommandLine이 NULL이면 AttachProcess처럼 프로세스가 만들어지지 않고 이러한 메서드가 기존 프로세스에 연결됩니다.
[in] CreateFlags
프로세스를 만들 때 사용할 플래그를 지정합니다. 이러한 플래그에 대한 자세한 내용은 DEBUG_CREATE_PROCESS_OPTIONS. CreateFlags.
[in] ProcessId
디버거가 연결할 대상 프로세스의 프로세스 ID를 지정합니다. ProcessId가 0이면 디버거가 CommandLine에서 만든 프로세스에 연결됩니다.
[in] AttachFlags
디버거가 대상 프로세스에 연결하는 방법을 제어하는 플래그를 지정합니다. 이러한 플래그에 대한 자세한 내용은 DEBUG_ATTACH_XXX 참조하세요.
반환 값
이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요.
반환 코드 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
설명
이 메서드는 라이브 사용자 모드 디버깅에만 사용할 수 있습니다.
CommandLine이 NULL이 아니고 ProcessId가 0이 아닌 경우 엔진은 일시 중단된 상태로 프로세스를 만듭니다. 엔진은 ProcessId에 지정된 프로세스에 성공적으로 연결한 후 새로 만든 이 프로세스를 다시 시작합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |