프로그램 연결 및 분리
디버거를 연결하려면 적절한 특성을 사용하여 올바른 메서드 및 이벤트 시퀀스를 보내야 합니다.
메서드 및 이벤트 시퀀스
SDM(세션 디버그 관리자)은 OnAttach 메서드를 호출합니다.
DE(디버그 엔진) 프로세스 모델에 따라
IDebugProgramNodeAttach2::OnAttach
메서드는 다음 메서드 중 하나를 반환하여 다음에 수행되는 작업을 결정합니다.S_FALSE
가 반환되는 경우 디버그 엔진이 프로그램에 성공적으로 연결되었습니다. 그렇지 않은 경우 연결 프로세스를 완료하기 위해 Attach 메서드가 호출됩니다.S_OK
가 반환되는 경우 DE는 SDM과 동일한 프로세스에서 로드됩니다. SDM은 다음 작업을 수행합니다.GetEngineInfo를 호출하여 DE의 엔진 정보를 가져옵니다.
DE를 공동으로 만듭니다.
Attach를 호출합니다.
DE는
EVENT_SYNC
특성을 사용하여 IDebugEngineCreateEvent2를 SDM에 보냅니다.DE는
EVENT_SYNC
특성을 사용하여 IDebugProgramCreateEvent2를 SDM에 보냅니다.DE는
EVENT_SYNC_STOP
특성을 사용하여 IDebugLoadCompleteEvent2를 SDM에 보냅니다.프로그램에서 분리하는 것은 다음과 같이 간단한 2단계 프로세스입니다.
SDM은 Detach를 호출합니다.
DE는 IDebugProgramDestroyEvent2를 보냅니다.