Compartilhar via


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.

  1. No menu de Depurar, escolha Opções e Configurações.

  2. Na página Depuração, Geral, desmarque a caixa de seleção Interromper todos os processos quando um processo for interrompido.

Voltar ao inícioConteú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

Voltar ao inícioConteú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.

Alterando o tipo de inicialização para um projeto

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.

Voltar ao inícioIniciar vários processos em uma solução VS, anexar a um processo, iniciar automaticamente um processo no depurador

Voltar ao inícioConteúdo

Iniciar projetos múltiplos em uma solução

  1. Selecione a solução no Gerenciador de Soluções e depois selecione a solução Propriedades no menu de contexto.

  2. Selecione Propriedades Comuns, Projeto de Inicialização na caixa de diálogo Propriedades.

  3. Para cada projeto que você deseja alterar, escolha Iniciar, Iniciar sem Depurar ou Nenhum.

Voltar ao inícioIniciar vários processos em uma solução VS, anexar a um processo, iniciar automaticamente um processo no depurador

Voltar ao inícioConteú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.

Caixa de diálogo Anexar ao Processo

Voltar ao inícioConteú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.

  1. Inicie o Editor do Registro (regedit.exe).

  2. Navegue até a pasta HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

  3. 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.

  4. No menu de contexto de pasta de aplicativo, escolha Novo, Valor da Cadeia de Caracteres.

  5. Altere o nome do novo valor de New Value para depurador.

  6. No menu de contexto da entrada do depurador, escolha Modificar.

  7. Na caixa de diálogo Editar Cadeia de Caracteres, digite vsjitdebugger.exe na caixa Dados de Valor.

    Editar caixa de diálogo cadeia de caracteres

Depurador automática iniciar entrada em regedit.exe

Voltar ao inícioConteú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.

    Alternar entre processos

    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.

    Janela Processos

    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.

Voltar ao inícioAlternar entre processos, interromper e continuar a execução, percorrer origem

Voltar ao inícioConteú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:

  • Interromper tudo

Todos os processos são interrompidos.

Todos os processos são interrompidos.

Menu Depurar:

  • Continue

Todos os processos são retomados.

Todos os processos suspensos são retomados.

Menu Depurar:

  • Entrar em

  • Depuração Parcial

  • Depuração Circular

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:

  • Depurar Completamente o Processo Atual

  • Depurar de Forma Parcial o Processo Atual

  • Depurar de Forma Circular o Processo Atual

N/D

Etapas de processo atual.

Outros processos mantém o estado existente (suspenso ou em execução).

Janela de origem

  • Ponto de Interrupção

Todos os processos são interrompidos.

Somente quebras do processo da janela de origem.

Menu de contexto da janela de origem:

  • Executar até o cursor

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:

  • Processo de interrupção

N/D

Quebras selecionadas do processo.

Outros processos mantém o estado existente (suspenso ou em execução).

Menu de contexto da janela Processos:

  • Continue o processo

N/D

O processo selecionado é retomado.

Outros processos mantém o estado existente (suspenso ou em execução).

Voltar ao inícioAlternar entre processos, interromper e continuar a execução, percorrer origem

Voltar ao inícioConteú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:

  • Para a depuração

A menos que o comportamento seja modificado pela opção Desanexar ao parar a depuração da janela Processos:

  1. Processos iniciados pelo depurador terminaram.

  2. Os processos anexados são separados do depurador.

Menu Depurar:

  • Finalizar Tudo

Todos os processos são encerrados.

Menu Depurar:

  • Desanexar tudo

O depurador desanexa todos os processos.

Menu de contexto da janela Processos:

  • Desanexar Processo

O depurador dispara do processo selecionado.

Outros processos mantém o estado existente (suspenso ou em execução).

Menu de contexto da janela Processos:

  • Encerrar Processo

O processo selecionado é finalizado.

Outros processos mantém o estado existente (suspenso ou em execução).

Menu de contexto da janela Processos:

  • Desanexe quando a depuração parar

Alterna o comportamento de Depurar, Parar Depuração para o processo selecionado:

  • Verificado: O depurador dispara do processo.

  • Limpo: O processo está finalizado.

Voltar ao inícioParar a depuração, finalizar ou desanexar dos processos

Voltar ao inícioConteú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

Depurar aplicativos multithread no Visual Studio