Partilhar via


Anexar diretamente a um programa

Os usuários que quiserem depurar programas em um processo que está sendo executado normalmente siga este processo:

  1. No IDE, escolha o Depurar processos comando o Ferramentas menu.

    A caixa de diálogo Processes aparece.

  2. Escolha um processo e clique no Attach botão.

    O Attach to Process caixa de diálogo for exibida, listando todos os mecanismos de depuração (DEs) instalados na máquina.

  3. Especificar o DEs usar para depurar o processo selecionado e clique em OK.

O pacote de debug inicia uma sessão de depuração e passa a lista de DEs para ele. A sessão de depuração por sua vez, passa a lista, junto com uma função de retorno de chamada, para o processo selecionado e, em seguida, pede que o processo para enumerar seus programas em execução.

Programaticamente, em resposta à solicitação do usuário, o pacote de depuração instancia o Gerenciador de sessão de depuração (SDM) e passa a lista de selecionados DEs a ele. Juntamente com a lista, o pacote de depuração passa o SDM um IDebugEventCallback2 interface. O pacote de depuração passa a lista de DEs para o processo selecionado chamando IDebugProcess2::Attach. O SDM chama IDebugProcess2::EnumPrograms na porta para enumerar os programas em execução no processo.

A partir deste momento, cada mecanismo de depuração está associado a um programa exatamente conforme detalhado no Anexando após a inicialização, com duas exceções.

Para maior eficiência, DEs que são implementados para compartilhar um espaço de endereço com o SDM são agrupados para que cada DE tem um conjunto de programas, ele será anexado ao. Nesse caso, IDebugProcess2 chamadas IDebugEngine2::Attach e passa uma matriz de programas para anexar a.

A segunda exceção é que os eventos de inicialização enviados por um DE anexar a um programa que já está executando não incluem o evento de ponto de entrada normalmente.

Consulte também

Conceitos

Enviar eventos de inicialização após um lançamento

Tarefas de depuração