Anexar diretamente a um programa
Os usuários que quiserem depurar programas em um processo que está sendo executado normalmente siga este processo:
No IDE, escolha o Depurar processos comando o Ferramentas menu.
A caixa de diálogo Processes aparece.
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.
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.