디버거를 시작하려면 적절한 특성을 사용하여 올바른 메서드 및 이벤트 시퀀스를 보내야 합니다.
메서드 및 이벤트 시퀀스
SDM(세션 디버그 관리자)은 디버그 메뉴를 선택한 다음 시작을 선택하여 호출됩니다. 자세한 내용은 프로그램 시작을 참조하세요.
SDM은 OnAttach 메서드를 호출합니다.
DE(디버그 엔진) 프로세스 모델에 따라 메서드는
IDebugProgramNodeAttach2::OnAttach다음 방법 중 하나를 반환하며, 다음에 수행되는 작업을 결정합니다.S_FALSE가 반환되면, 가상 머신의 프로세스에서 디버그 엔진(DE)이 로드됩니다.-또는-
S_OK가 반환되면, DE는 SDM의 프로세스 중에 로드됩니다. 그런 다음, SDM은 다음 작업을 수행합니다.GetEngineInfo를 호출하여 DE의 엔진 정보를 가져옵니다.
DE를 공동으로 만듭니다.
Attach 호출.
DE는 IDebugEngineCreateEvent2 이벤트를
EVENT_SYNC속성과 함께 SDM에 전송합니다.DE는
EVENT_SYNC속성을 사용하여 IDebugProgramCreateEvent2를 SDM에 보냅니다.DE는
EVENT_SYNC속성을 사용하여 IDebugThreadCreateEvent2를 SDM에 보냅니다.DE는 IDebugLoadCompleteEvent2를
EVENT_SYNC특성으로 SDM에게 보냅니다.DE는 IDebugEntryPointEvent2를
EVENT_SYNC속성과 함께 SDM에 보냅니다.