Notificando a porta
Depois de iniciar um programa, a porta deve ser notificada, da seguinte maneira:
Quando uma porta recebe um novo nó de programa, ele envia um evento de criação do programa de volta para a sessão de depuração. O evento carrega uma interface que representa o programa.
A sessão de depuração consultará o programa para o identificador de um mecanismo de depuração (DE) que pode anexar a.
A sessão de depuração verifica se o DE estiver na lista de permitidos DEs desse programa. A sessão de depuração obtém essa lista de configurações do programa ativo da solução, originalmente passadas para ele, o pacote de depuração.
O DE deve estar na lista permitida, senão a DE não será anexada ao programa.
Programaticamente, quando uma porta primeiro recebe um novo nó de programa, ele cria um IDebugProgram2 interface para representar o programa.
Dica
Isso não deve ser confundido com o IDebugProgram2 interface criada posteriormente pelo mecanismo de depuração (DE).
A porta envia um IDebugProgramCreateEvent2 eventos de criação do programa volta para o Gerenciador de depuração de sessão (SDM) por meio de um suplemento de COM IConnectionPoint interface.
Dica
Isso não deve ser confundido com o IDebugProgramCreateEvent2 interface, que é enviada mais tarde por DE.
Junto com a interface de evento propriamente dito, a porta envia o IDebugPort2, IDebugProcess2, e IDebugProgram2 interfaces, que representam a porta, o processo e o programa, respectivamente. As chamadas SDM IDebugProgram2::GetEngineInfo para obter o GUID do DE capaz de depurar o programa. O GUID originalmente foi obtido o IDebugProgramNode2 interface.
O SDM verifica se o DE estiver na lista de permitidos DEs. O SDM obtém essa lista de configurações do programa ativo da solução, originalmente passadas para ele, o pacote de depuração. O DE deve estar na lista permitida ou que ele não será anexado ao programa.
Depois que a identidade do DE for conhecida, o SDM é pronto para anexá-lo para o programa.