Notificare la porta
Dopo l'avvio di un programma, la porta deve ricevere una notifica, come indicato di seguito:
Quando una porta riceve un nuovo nodo del programma, invia un evento di creazione del programma alla sessione di debug. L'evento include un'interfaccia che rappresenta il programma.
La sessione di debug esegue una query sul programma per l'identificatore di un motore di debug (DE) a cui è possibile connettersi.
La sessione di debug verifica se l'oggetto DE è presente nell'elenco di DE consentiti per tale programma. La sessione di debug ottiene questo elenco dalle impostazioni del programma attivo della soluzione, originariamente passate dal pacchetto di debug.
L'oggetto DE deve essere incluso nell'elenco consentito. In caso contrario, il de non verrà collegato al programma.
A livello di codice, quando una porta riceve per la prima volta un nuovo nodo del programma, crea un'interfaccia IDebugProgram2 per rappresentare il programma.
Nota
Questa operazione non deve essere confusa con l'interfaccia IDebugProgram2
creata successivamente dal motore di debug (DE).
La porta invia un evento di creazione del programma IDebugCreateEvent2 al gestore di debug della sessione tramite un'interfaccia COM IConnectionPoint
.
Nota
Questa operazione non deve essere confusa con l'interfaccia IDebugProgramCreateEvent2
, che viene inviata successivamente dal DE.
Insieme all'interfaccia evento stessa, la porta invia le interfacce IDebugPort2, IDebugProcess2 e IDebugProgram2 , che rappresentano rispettivamente la porta, il processo e il programma. SDM chiama IDebugProgram2::GetEngineInfo per ottenere il GUID del DE che può eseguire il debug del programma. Il GUID è stato originariamente ottenuto dall'interfaccia IDebugProgramNode2 .
Il SDM verifica se l'oggetto DE è presente nell'elenco di DE consentiti. Il SDM ottiene questo elenco dalle impostazioni del programma attivo della soluzione, originariamente passato dal pacchetto di debug. Il de deve essere presente nell'elenco consentito oppure non verrà collegato al programma.
Una volta nota l'identità del de, il SDM è pronto per collegarlo al programma.