Partilhar via


Introdução aos pontos de interrupção no depurador do Visual Studio

Os pontos de interrupção são uma das técnicas de depuração mais importantes na caixa de ferramentas do desenvolvedor. Você define pontos de interrupção sempre que deseja pausar a execução do depurador. Por exemplo, você pode querer ver o estado das variáveis de código ou examinar a pilha de chamadas em um determinado ponto de interrupção.

Definir pontos de interrupção no código-fonte

Você pode definir um ponto de interrupção em qualquer linha de código executável. Por exemplo, dê uma olhada neste código C# simples que cria um loop simples.

int testInt = 3;

for (int i = 0; i < 10; i++)
{
    testInt += i;
}

Você pode definir um ponto de interrupção na linha de código com a atribuição de variável (int testInt = 3), o loop de for ou qualquer código dentro do loop de for. Não é possível definir um ponto de interrupção em assinaturas de método, declarações para um namespace ou classe ou declarações de variáveis se não houver nenhuma atribuição e nenhum getter/setter.

Para definir um ponto de interrupção no código-fonte:

  • Clique na margem esquerda ao lado de uma linha de código. Você também pode selecionar a linha e pressionar F9, selecione Depurar>Alternar ponto de interrupçãoou clique com o botão direito do mouse e selecione Ponto de interrupção>Inserir ponto de interrupção. O ponto de interrupção aparece como um ponto vermelho na margem esquerda.

Para a maioria das linguagens (incluindo C#), o Visual Studio destaca automaticamente o ponto de interrupção e as linhas de execução atuais. Para alguns idiomas, como C++, que não é realçado por padrão, você pode ativar o realce do ponto de interrupção e das linhas atuais selecionando Ferramentas (ou Depurar) >Opções>Depuração>Realçar linha de origem inteira para pontos de interrupção e instrução atual (somente C++).

Definir um ponto de interrupção

Definir um ponto de interrupção

Para depurar, pressione F5 ou selecione Depurar>Iniciar a Depuração.

Ao depurar, a execução pausa no ponto de interrupção, antes que o código nessa linha seja executado. O símbolo do ponto de interrupção mostra uma seta amarela.

No ponto de interrupção no exemplo a seguir, o valor de testInt ainda é 3. Portanto, o valor não foi alterado desde que a variável foi inicializada (definida como um valor de 3) porque a instrução em amarelo ainda não foi executada.

A execução do ponto de interrupção foi interrompida

No ponto de interrupção no exemplo a seguir, o valor de testInt ainda é 1. Portanto, o valor não foi alterado desde que a variável foi inicializada (definida como um valor de 1) porque a instrução em amarelo ainda não foi executada.

A execução do ponto de interrupção foi interrompida

Quando o depurador para no ponto de interrupção, você pode examinar o estado atual do aplicativo, incluindo valores de variáveis e a pilha de chamadas .

Por exemplo, na ilustração a seguir, você pode ver o valor de testInt em uma dica de dados e na janela Locals.

Captura de ecrã a mostrar a visualização do estado da aplicação

Aqui estão algumas instruções gerais para trabalhar com pontos de interrupção.

  • O ponto de interrupção é um interruptor. Você pode clicar nele, pressionar F9ou usar Depurar>Mudar Ponto de Interrupção para excluí-lo ou reinseri-lo.

  • Para desativar um ponto de interrupção sem excluí-lo, passe o mouse sobre ele ou clique com o botão direito do mouse e selecione Desativar ponto de interrupção. Os pontos de interrupção desativados aparecem como pontos vazios na margem esquerda ou na janela Pontos de interrupção. Para reativar um ponto de interrupção, passe o mouse sobre ele ou clique com o botão direito do mouse e selecione Habilitar ponto de interrupção.

  • Defina condições e ações, adicione e edite rótulos ou exporte um ponto de interrupção clicando com o botão direito do mouse nele e selecionando o comando apropriado, ou passando o mouse sobre ele e selecionando o ícone Configurações.

Tipos de pontos de interrupção

O Visual Studio oferece suporte a diferentes tipos de pontos de interrupção para oferecer suporte a diferentes cenários de depuração, como pontos de interrupção condicionais que só são ativados com base em critérios especificados. Para mais informações, consulte Utilizar o tipo correto de ponto de interrupção.

Gerenciar pontos de interrupção na janela Pontos de interrupção

Você pode usar a janela Breakpoints para ver e gerenciar todos os pontos de interrupção em sua solução. Esse local centralizado é especialmente útil em uma solução grande ou em cenários complexos de depuração em que os pontos de interrupção são críticos.

Na janela de pontos de interrupção , pode pesquisar, ordenar, filtrar, ativar/desativar ou eliminar pontos de interrupção. Você também pode definir condições e ações ou adicionar uma nova função ou ponto de interrupção de dados.

Para abrir a janela de Pontos de Interrupção , selecione Depurar>>Breakpointsdo Windows, ou pressione Ctrl+Alt+B.

janela de pontos de paragem

janela de pontos de paragem

Para selecionar as colunas a serem exibidas na janela Pontos de interrupção, selecione Mostrar Colunas. Selecione um cabeçalho de coluna para classificar a lista de pontos de interrupção por essa coluna.

Rótulos de ponto de interrupção

Você pode usar rótulos para classificar e filtrar a lista de pontos de interrupção na janela Pontos de interrupção.

  1. Para adicionar um rótulo a um ponto de interrupção, clique com o botão direito do rato no ponto de interrupção no código-fonte ou na janela Pontos de interrupção e, em seguida, selecione Editar rótulos. Adicione um novo rótulo ou escolha um existente e, em seguida, selecione OK.
  2. Classifique a lista de pontos de interrupção na janela Pontos de interrupção selecionando os cabeçalhos de coluna Rótulos, Condiçõesou outro. Você pode selecionar as colunas a serem exibidas selecionando Mostrar Colunas na barra de ferramentas.

Grupos de pontos de interrupção

Para cenários de depuração complexos, convém criar grupos de pontos de interrupção para organizar seus pontos de interrupção. Isso permite que você habilite e desabilite rapidamente agrupamentos lógicos de pontos de interrupção, com base no cenário atual que você está tentando depurar.

Você pode criar pontos de interrupção na janela Pontos de interrupção selecionando >Grupo de Pontos de Interrupção de Nova e fornecendo um nome para o grupo. Para adicionar um ponto de interrupção a um grupo, clique com o botão direito do rato no ponto de interrupção e escolha Adicionar ao Grupo de Pontos de Interrupção><nome do grupo>. Ou arraste e solte seus pontos de interrupção no grupo desejado.

Captura de tela de grupos de pontos de interrupção.

Para definir um grupo de pontos de interrupção padrão, clique com o botão direito do mouse em um grupo e selecione Definir como grupo de pontos de interrupção padrão. Quando você define um grupo de pontos de interrupção padrão, os pontos de interrupção recém-criados são adicionados automaticamente ao grupo.

Pontos de interrupção de exportação e importação

Para guardar ou partilhar o estado e a localização dos seus pontos de interrupção, pode exportá-los ou importá-los.

A partir da versão 17.12 Preview 3 do Visual Studio 2022, os grupos de pontos de interrupção são também incluídos junto com os pontos de interrupção exportados e importados.

  • Para exportar um único ponto de interrupção para um ficheiro XML, clique com o botão direito no ponto de interrupção no código-fonte ou na janela Pontos de interrupção e selecione Exportar ou Exportar selecionado. Selecione um local de exportação e, em seguida, selecione Salvar. O local padrão é a pasta da solução.
  • Para exportar vários pontos de interrupção, na janela Breakpoints, selecione as caixas ao lado dos pontos de interrupção ou insira critérios de pesquisa no campo Search. Selecione o ícone Exportar todos os pontos de paragem correspondentes aos critérios de pesquisa atuais e salve o arquivo.
  • Para exportar todos os pontos de interrupção, desmarque todas as caixas e deixe o campo Pesquisa em branco. Selecione o ícone Exportar todos os pontos de paragem correspondentes aos critérios de pesquisa atuais e salve o arquivo.
  • Para importar breakpoints, na janela Breakpoints, selecione o ícone Importar breakpoints de um arquivo, navegue até o local do arquivo XML e selecione Abrir.

Definir pontos de interrupção nas janelas do depurador

Você também pode definir pontos de interrupção nas janelas de Pilha de Chamadas e de Desmontagem do depurador.

Definir um ponto de interrupção na janela Pilha de chamadas

Para interromper a instrução ou a linha para a qual uma função de chamada retorna, você pode definir um ponto de interrupção na janela da pilha de chamadas.

Para definir um ponto de interrupção na janela da stack de chamadas:

  1. Para abrir a janela da Pilha de Chamadas, deve estar com a execução pausada durante a depuração. Selecione Depurar>Windows>Call Stackou pressione Ctrl+Alt+C.

  2. Na janela da pilha de chamadas, clique com o botão direito do mouse na função de chamada e selecione Ponto de interrupção>Inserir ponto de interrupçãoou pressione F9.

    Um símbolo de ponto de interrupção aparece ao lado do nome da chamada de função na margem esquerda da pilha de chamadas.

O ponto de interrupção na pilha de chamadas aparece na janela de Pontos de Interrupção como um endereço, com um local de memória que corresponde à próxima instrução executável na função.

O depurador pára na instrução.

Para obter mais informações sobre a pilha de chamadas, consulte Como usar a janela Pilha de Chamadas.

Para rastrear visualmente os pontos de interrupção durante a execução do código, consulte Mapeie métodos na pilha de chamadas durante a depuração.

Definir um ponto de interrupção na janela Desmontagem

  1. Para abrir a janela Desmontagem, é necessário estar pausado durante a depuração. Selecione Depurar>>DesmontagemWindows, ou pressione Ctrl+Alt+D.

  2. Na janela Desmontagem, clique na margem esquerda da instrução que deseja quebrar. Você também pode selecioná-lo e pressionar F9ou clicar com o botão direito do mouse e selecionar Ponto de interrupção>Inserir ponto de interrupção.