Compartilhar via


Anexando e desanexando a um programa

Anexar o depurador requer o envio da sequência correta de métodos e eventos com os atributos adequados.

Sequência de métodos e eventos

  1. O gerenciador de depuração de sessão (SDM) chama o método OnAttach .

    Com base no modelo de processo do mecanismo de depuração (DE), o IDebugProgramNodeAttach2::OnAttach método retorna um dos seguintes métodos, que determina o que acontece em seguida.

    Se S_FALSE for retornado, o mecanismo de depuração foi anexado com êxito ao programa. Caso contrário, o método Attach será chamado para concluir o processo de anexação.

    Se S_OK for retornado, o DE deve ser carregado no mesmo processo que o SDM. O SDM executa as seguintes tarefas:

    1. Chama GetEngineInfo para obter as informações do mecanismo do DE.

    2. Co-cria o DE.

    3. chama anexar.

  2. O DE envia um IDebugEngineCreateEvent2 para o SDM com um EVENT_SYNC atributo.

  3. O DE envia um IDebugProgramCreateEvent2 para o SDM com um EVENT_SYNC atributo.

  4. O DE envia um IDebugLoadCompleteEvent2 para o SDM com um EVENT_SYNC_STOP atributo.

    Desanexar de um programa é um processo simples, de duas etapas, da seguinte maneira:

  5. O SDM chama Detach.

  6. O DE envia um IDebugProgramDestroyEvent2.