Powiadamianie o porcie
Po uruchomieniu programu port musi zostać powiadomiony w następujący sposób:
Gdy port odbiera nowy węzeł programu, wysyła zdarzenie tworzenia programu z powrotem do sesji debugowania. Zdarzenie niesie ze sobą interfejs reprezentujący program.
Sesja debugowania wysyła zapytanie do programu o identyfikator aparatu debugowania (DE), do którego można dołączyć.
Sesja debugowania sprawdza, czy de znajduje się na liście dozwolonych DEs dla tego programu. Sesja debugowania pobiera tę listę z aktywnych ustawień programu rozwiązania, pierwotnie przekazanych do niej przez pakiet debugowania.
De musi znajdować się na liście dozwolonych lub de nie będzie dołączony do programu.
Programowo, gdy port po raz pierwszy odbiera nowy węzeł programu, tworzy interfejs IDebugProgram2 do reprezentowania programu.
Uwaga
Nie należy tego mylić z interfejsem IDebugProgram2
utworzonym później przez aparat debugowania (DE).
Port wysyła zdarzenie tworzenia programu IDebugProgramCreateEvent2 z powrotem do menedżera debugowania sesji (SDM) za pomocą interfejsu COM IConnectionPoint
.
Uwaga
Nie należy tego mylić z interfejsem IDebugProgramCreateEvent2
, który jest wysyłany później przez DE.
Wraz z interfejsem zdarzenia port wysyła odpowiednio interfejs IDebugPort2, IDebugProcess2 i IDebugProgram2, które reprezentują port, proces i program. SdM wywołuje IDebugProgram2::GetEngineInfo , aby uzyskać identyfikator GUID de, który może debugować program. Identyfikator GUID został pierwotnie uzyskany z interfejsu IDebugProgramNode2 .
SdM sprawdza, czy de znajduje się na liście dozwolonych DEs. SdM pobiera tę listę z aktywnych ustawień programu rozwiązania, pierwotnie przekazanych do niej przez pakiet debugowania. De musi znajdować się na liście dozwolonych lub nie zostanie dołączony do programu.
Gdy tożsamość de jest znana, SDM jest gotowy do dołączenia go do programu.