Partilhar via


Notificar o porto

Depois de iniciar um programa, a porta deve ser notificada, da seguinte forma:

  1. Quando uma porta recebe um novo nó de programa, ela envia um evento de criação de programa de volta para a sessão de depuração. O evento carrega consigo uma interface que representa o programa.

  2. A sessão de depuração interroga o programa pelo identificador de um mecanismo de depuração (DE) ao qual possa ligar-se.

  3. A sessão de depuração verifica se o DE está na lista de DEs permitidos para esse programa. A sessão de depuração obtém essa lista das configurações ativas do programa da solução, originalmente passadas para ela pelo pacote de depuração.

    O DE deve estar na lista de permitidos, caso contrário o DE não será anexado ao programa.

    Programaticamente, quando uma porta recebe pela primeira vez um novo nó de programa, ela cria uma interface IDebugProgram2 para representar o programa.

Observação

Não se deve confundir isso com a interface IDebugProgram2 criada pelo mecanismo de depuração (DE) posteriormente.

A porta envia um evento de criação de programa IDebugProgramCreateEvent2 de volta para o gerenciador de depuração de sessão (SDM) por meio de uma interface COM IConnectionPoint .

Observação

Isso não deve ser confundido com a IDebugProgramCreateEvent2 interface, que é enviada posteriormente pelo DE.

Junto com a interface de evento em si, a porta envia as interfaces IDebugPort2, IDebugProcess2 e IDebugProgram2 , que representam a porta, o processo e o programa, respectivamente. O SDM chama IDebugProgram2::GetEngineInfo para obter o GUID do DE que pode depurar o programa. O GUID foi originalmente obtido a partir da interface IDebugProgramNode2 .

O SDM verifica se o DE está na lista de DEs permitidos. O SDM obtém essa lista das configurações ativas do programa da solução, originalmente passadas para ele pelo pacote de depuração. O DE deve estar na lista de permitidos, caso contrário não será anexado ao programa.

Uma vez que a identidade do DE é conhecida, o SDM está pronto para anexá-lo ao programa.