포트에 알림
프로그램을 시작한 후 다음과 같이 포트에 알려야 합니다.
포트가 새 프로그램 노드를 받으면 프로그램 만들기 이벤트를 디버그 세션으로 다시 보냅니다. 해당 이벤트는 프로그램을 나타내는 인터페이스를 전달합니다.
디버그 세션은 프로그램에 연결할 수 있는 DE(디버그 엔진)의 식별자를 쿼리합니다.
디버그 세션은 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은 이를 프로그램에 연결할 준비가 된 것입니다.