다음을 통해 공유


프로그램 연결 및 분리

디버거를 연결하려면 적절한 특성을 사용하여 올바른 메서드 및 이벤트 시퀀스를 보내야 합니다.

메서드 및 이벤트 시퀀스

  1. SDM(세션 디버그 관리자)은 OnAttach 메서드를 호출합니다.

    DE(디버그 엔진) 프로세스 모델에 따라 IDebugProgramNodeAttach2::OnAttach 메서드는 다음 메서드 중 하나를 반환하여 다음에 수행되는 작업을 결정합니다.

    S_FALSE가 반환되는 경우 디버그 엔진이 프로그램에 성공적으로 연결되었습니다. 그렇지 않은 경우 연결 프로세스를 완료하기 위해 Attach 메서드가 호출됩니다.

    S_OK가 반환되는 경우 DE는 SDM과 동일한 프로세스에서 로드됩니다. SDM은 다음 작업을 수행합니다.

    1. GetEngineInfo를 호출하여 DE의 엔진 정보를 가져옵니다.

    2. DE를 공동으로 만듭니다.

    3. Attach를 호출합니다.

  2. DE는 EVENT_SYNC 특성을 사용하여 IDebugEngineCreateEvent2를 SDM에 보냅니다.

  3. DE는 EVENT_SYNC 특성을 사용하여 IDebugProgramCreateEvent2를 SDM에 보냅니다.

  4. DE는 EVENT_SYNC_STOP 특성을 사용하여 IDebugLoadCompleteEvent2를 SDM에 보냅니다.

    프로그램에서 분리하는 것은 다음과 같이 간단한 2단계 프로세스입니다.

  5. SDM은 Detach를 호출합니다.

  6. DE는 IDebugProgramDestroyEvent2를 보냅니다.