다음을 통해 공유


포트에 알림

프로그램을 시작한 후 다음과 같이 포트에 알려야 합니다.

  1. 포트가 새 프로그램 노드를 받으면 프로그램 만들기 이벤트를 디버그 세션으로 다시 보냅니다. 해당 이벤트는 프로그램을 나타내는 인터페이스를 전달합니다.

  2. 디버그 세션은 프로그램에 연결할 수 있는 DE(디버그 엔진)의 식별자를 쿼리합니다.

  3. 디버그 세션은 DE가 해당 프로그램의 허용 가능한 DE 목록에 있는지 확인합니다. 디버그 세션은 원래 디버그 패키지에 의해 전달된 솔루션의 활성 프로그램 설정에서 이 목록을 가져옵니다.

    DE는 허용 가능한 목록에 있어야 하며, 그렇지 않으면 DE가 프로그램에 연결되지 않습니다.

    프로그래밍 방식으로 포트가 새 프로그램 노드를 처음 받으면 프로그램을 나타내는 IDebugProgram2 인터페이스를 만듭니다.

참고 항목

나중에 DE(디버그 엔진)에서 만든 IDebugProgram2 인터페이스와 혼동해서는 안 됩니다.

포트는 COM IConnectionPoint 인터페이스를 통해 IDebugProgramCreateEvent2 프로그램 만들기 이벤트를 SDM(세션 디버그 관리자)으로 다시 보냅니다.

참고 항목

나중에 DE에서 전송되는 IDebugProgramCreateEvent2 인터페이스와 혼동해서는 안 됩니다.

이벤트 인터페이스 자체와 함께 포트는 각각 포트, 프로세스, 프로그램을 나타내는 IDebugPort2, IDebugProcess2, IDebugProgram2 인터페이스를 보냅니다. SDM은 IDebugProgram2::GetEngineInfo를 호출하여 프로그램을 디버그할 수 있는 DE의 GUID를 가져옵니다. GUID는 원래 IDebugProgramNode2 인터페이스에서 가져온 것입니다.

SDM은 DE가 허용 가능한 DE 목록에 있는지 확인합니다. SDM은 원래 디버그 패키지에 의해 전달된 솔루션의 활성 프로그램 설정에서 이 목록을 가져옵니다. DE는 허용 가능한 목록에 있어야 하며, 그렇지 않으면 DE가 프로그램에 연결되지 않습니다.

DE의 ID가 알려지면 SDM은 이를 프로그램에 연결할 준비가 된 것입니다.