Deputar um ou mais processos no Visual Studio
Veja como iniciar processos de depuração, alternar entre processos, interromper e continuar a execução, percorrer o código-fonte, interromper a depuração e terminar ou desanexar dos processos.
Conteúdo
Configurar o comportamento de execução de vários processos
Localize a fonte e os arquivos de símbolo (.pdb)
Iniciar vários processos em uma solução VS, anexar a um processo, iniciar automaticamente um processo no depurador
Alternar entre processos, interromper e continuar a execução, percorrer origem
Parar a depuração, finalizar ou desanexar dos processos
Configurar o comportamento de execução de vários processos
Por padrão, quando vários processos são executados no depurador, os comandos de quebra, avanço e interrupção do depurador geralmente afetam todos os processos. Por exemplo, quando um processo é suspenso em um ponto de interrupção, a execução de todos outros processos é suspendida também. Você pode alterar esse comportamento padrão para obter mais controle sobre os destinos dos comandos de execução.
No menu de Depurar, escolha Opções e Configurações.
Na página Depuração, Geral, desmarque a caixa de seleção Interromper todos os processos quando um processo for interrompido.
Conteúdo
Localize a fonte e os arquivos de símbolo (.pdb)
Para navegar no código-fonte de um processo, o depurador precisa acessar os arquivos de origem e os arquivos do símbolo do processo. Consulte Especificar arquivos de símbolo (.pdb) e de origem no Depurador do Visual Studio.
Se você não conseguir acessar arquivos para um processo, poderá navegar usando a janela de desmontagem. Consulte Como usar a janela Desmontagem
Conteúdo
Iniciar vários processos em uma solução VS, anexar a um processo, iniciar automaticamente um processo no depurador
- Inicie vários processos de depuração em uma solução do Visual Studio • Altere o projeto de inicialização • Inicie um projeto específico em uma solução • Inicie vários projetos em uma solução • Anexe a um processo • Iniciar automaticamente um processo no depurador
Dica
O depurador não é anexado automaticamente a um processo filho que é inicializado por um processo depurado, mesmo se o projeto filho estiver na mesma solução.Para depurar um processo filho:
-
Anexar ao processo filho depois que for iniciado.
-ou-
-
Configurar o Windows para iniciar automaticamente o processo filho em uma nova instância do depurador.
Inicie vários processos de depuração em uma solução do Visual Studio
Quando você tiver mais de um projeto em uma solução do Visual Studio que pode executar de forma independente (projetos que são executados em processos separados), será possível selecionar quais projetos o depurador inicia.
Altere o projeto de inicialização
Para alterar o projeto de inicialização de uma solução, selecione o projeto no Solution Explorer e selecione Definir como projeto de inicialização do menu de contexto.
Inicie um projeto específico em uma solução
Para iniciar um projeto para uma solução sem alterar o projeto de inicialização padrão, selecione o projeto do Gerenciador de Soluções e, em seguida, selecione Depurar no menu de contexto. Você pode escolher Iniciar nova instância ou Depurar completamente a nova instância.
Conteúdo
Iniciar projetos múltiplos em uma solução
Selecione a solução no Gerenciador de Soluções e depois selecione a solução Propriedades no menu de contexto.
Selecione Propriedades Comuns, Projeto de Inicialização na caixa de diálogo Propriedades.
Para cada projeto que você deseja alterar, escolha Iniciar, Iniciar sem Depurar ou Nenhum.
Conteúdo
Anexar a um processo
O depurador também pode ser anexado a programas que estão sendo executados em processos fora do Visual Studio, incluindo os programas que estão sendo executados em um dispositivo remoto. Após vincular-se a um programa, você poderá usar comandos de execução do depurador, inspecionar o estado do programa e assim por diante. A capacidade de inspecionar o programa pode ser limitada se o programa foi criado com informações de depuração, se você tem acesso ao código-fonte do programa, e se o compilador just-in-time (JIT) do Common Language Runtime está controlando as informações de depuração.
Consulte Anexar aos processos em execução com o Depurador do Visual Studio para obter mais informações.
Anexar a um processo que está executando em seu computador local
Escolha Depurar, Anexar ao Processo. Na caixa de diálogo Anexar ao Processo, selecione o processo da lista de Processos Disponíveis e, em seguida, escolha Anexar.
Conteúdo
Iniciar automaticamente um processo no depurador
Às vezes, pode ser necessário depurar o código de inicialização para um programa que foi iniciado por outro processo. Os exemplos incluem serviços e ações de configuração personalizada. Nesses cenários, você poderá fazer com que o depurador seja iniciado e automaticamente anexado quando seu aplicativo iniciar.
Inicie o Editor do Registro (regedit.exe).
Navegue até a pasta HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
Selecione a pasta do aplicativo que você deseja iniciar o depurador.
Se o nome do aplicativo não estiver listado como uma pasta filha, selecione Image File Execution Options e escolha Novo, Chave no menu de contexto. Selecione a nova chave, escolha Renomear no menu de atalho e digite o nome do aplicativo.
No menu de contexto de pasta de aplicativo, escolha Novo, Valor da Cadeia de Caracteres.
Altere o nome do novo valor de New Value para depurador.
No menu de contexto da entrada do depurador, escolha Modificar.
Na caixa de diálogo Editar Cadeia de Caracteres, digite vsjitdebugger.exe na caixa Dados de Valor.
Conteúdo
Alternar entre processos, interromper e continuar a execução, percorrer origem
- Alternar processos • Interromper, depurar e continuar comandos
Alternar entre processos
Você pode conectar-se a vários processos quando está depurando, mas somente um processo está ativo no depurador em um determinado momento. Você pode definir o processo ativo atual ou na barra de ferramentas do local de depuração ou na janela Processos. Para alternar entre processos, ambos os processos devem estar no modo de interrupção.
Para definir o processo atual
Na barra de ferramentas do local de depuração, escolha Processo para exibir a caixa de listagem Processo. Selecione o processo que você deseja designar como o processo atual.
Se a barra de ferramentas Local de Depuração não estiver visível, escolha Ferramentas, Personalizar. Na guia Barras de Ferramentas, escolha Local de Depuração.
Abra a janela Processos (atalho Ctrl+Alt+Z), localize o processo que você deseja definir como o processo atual e clique duas vezes nele.
O processo atual é marcado por uma seta amarela.
Alternar para um projeto o torna o processo atual para fins de depuração. Qualquer janela do depurador que você exibir mostrará o estado do processo atual e todos os comandos das etapas afetarão somente o processo atual.
Alternar entre processos, interromper e continuar a execução, percorrer origem
Conteúdo
Interromper, depurar e continuar comandos
Dica
Por padrão, os comandos interromper, continuar e avançar depurador afetam todos os processos que estão sendo depurados.Para alterar esse comportamento, consulte Configurar o comportamento de execução de vários processos
Comando |
Interromper todos os processos quando um processo for interrompido Verificado (Padrão) |
Interromper todos os processos quando um processo for interrompido Limpo |
Menu Depurar:
|
Todos os processos são interrompidos. |
Todos os processos são interrompidos. |
Menu Depurar:
|
Todos os processos são retomados. |
Todos os processos suspensos são retomados. |
Menu Depurar:
|
Todos os processos estão em execução durante as etapas de processo atual. Em seguida, todos os processos são interrompidos. |
Etapas de processo atual. Retomada de processos suspensos. Executando a continuação dos processos. |
Menu Depurar:
|
N/D |
Etapas de processo atual. Outros processos mantém o estado existente (suspenso ou em execução). |
Janela de origem
|
Todos os processos são interrompidos. |
Somente quebras do processo da janela de origem. |
Menu de contexto da janela de origem:
A janela de origem deve estar no processo atual. |
Todos os processos estão em execução enquanto o processo da janela de origem executa ao cursor e depois interrompe. Em seguida, todos os outros processos não interrompidos. |
O processo da janela de origem é executado para o cursor. Outros processos mantém o estado existente (suspenso ou em execução). |
Menu de contexto da janela Processos:
|
N/D |
Quebras selecionadas do processo. Outros processos mantém o estado existente (suspenso ou em execução). |
Menu de contexto da janela Processos:
|
N/D |
O processo selecionado é retomado. Outros processos mantém o estado existente (suspenso ou em execução). |
Alternar entre processos, interromper e continuar a execução, percorrer origem
Conteúdo
Parar a depuração, finalizar ou desanexar dos processos
- Parar, finalizar e desanexar comandos
Por padrão, quando você escolhe Depurar, Parar Depuração quando vários processos estão abertos no depurador, o depurador encerra ou dispara de todos os processos, dependendo de como o processo foi aberto no depurador:
Se o processo atual foi iniciado no depurador, esse processo é finalizado.
Se você já anexou o depurador ao processo atual, o depurador será desanexado do processo e o deixará em execução.
Por exemplo, se você iniciar a depuração de um processo de uma solução do Visual Studio, anexá-lo a outro processo que já esteja em execução e escolher Parar Depuração, a sessão de depuração irá parar, o processo que foi iniciado no Visual Studio será finalizado enquanto o processo que você anexou permanecerá em execução. Você pode usar os seguintes procedimentos para controlar a maneira que você interrompe a depuração.
Dica
A opção Interromper todos os processos quando um processo for interrompido não afeta a interrupção da depuração ou encerramento e desanexação dos processos.
Para alterar como a depuração de parada afeta um processo individual
- Abra a janela Processos (atalho Ctrl+Alt+Z). Selecione um processo e depois marque ou desmarque a caixa de seleção Desanexar quando a depuração for interrompida.
Parar, finalizar e desanexar comandos
Comando |
Descrição |
Menu Depurar:
|
A menos que o comportamento seja modificado pela opção Desanexar ao parar a depuração da janela Processos:
|
Menu Depurar:
|
Todos os processos são encerrados. |
Menu Depurar:
|
O depurador desanexa todos os processos. |
Menu de contexto da janela Processos:
|
O depurador dispara do processo selecionado. Outros processos mantém o estado existente (suspenso ou em execução). |
Menu de contexto da janela Processos:
|
O processo selecionado é finalizado. Outros processos mantém o estado existente (suspenso ou em execução). |
Menu de contexto da janela Processos:
|
Alterna o comportamento de Depurar, Parar Depuração para o processo selecionado:
|
Parar a depuração, finalizar ou desanexar dos processos
Conteúdo
Consulte também
Conceitos
Iniciar, interromper, avançar, executar código e parar depuração no Visual Studio
Depuração Just-In-Time no Visual Studio
Outros recursos
Especificar arquivos de símbolo (.pdb) e de origem no Depurador do Visual Studio
Anexar aos processos em execução com o Depurador do Visual Studio