Compartilhar via


Enviar os eventos necessários

Use este procedimento para enviar os eventos necessários.

Processo para envio de eventos necessários

Os seguintes eventos são necessários, nesta ordem, ao criar um mecanismo de depuração (DE) e anexá-lo a um programa:

  1. Envie um objeto de evento IDebugEngineCreateEvent2 para o gerenciador de depuração de sessão (SDM) quando o DE for inicializado para depuração de um ou mais programas em um processo.

  2. Quando o programa a ser depurado estiver anexado, envie um objeto de evento IDebugProgramCreateEvent2 para o SDM. Esse evento pode ser um evento de parada, dependendo do design do motor.

  3. Se o programa estiver anexado quando o processo for iniciado, envie um objeto de evento IDebugThreadCreateEvent2 ao SDM para notificar o IDE sobre o novo thread. Esse evento pode ser um evento de parada, dependendo do design do motor.

  4. Envie um objeto de evento IDebugLoadCompleteEvent2 para o SDM quando o programa que está sendo depurado terminar de carregar ou quando a anexação ao programa for concluída. Esse evento deve ser um evento de parada.

  5. Se o aplicativo a ser depurado for iniciado, envie um objeto de evento IDebugEntryPointEvent2 para o SDM quando a primeira instrução de código na arquitetura de tempo de execução estiver prestes a ser executada. Este evento é sempre um evento de parada. Ao entrar na sessão de depuração, o IDE pára nesse evento.

Observação

Muitas linguagens usam inicializadores globais ou funções externas pré-compiladas (da biblioteca CRT ou _Main) no início de seu código. Se o idioma do programa que você está depurando contiver um desses tipos de elementos antes do ponto de entrada inicial, esse código será executado e o evento de ponto de entrada será enviado quando o ponto de entrada do usuário, como principal ou WinMain, for atingido.

Confira também