다음을 통해 공유


포트에 알리다

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

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

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

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

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

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

비고

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

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

비고

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

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

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

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