Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste Início Rápido, você explorará como usar o depurador Visual Studio para depurar seu código C++ nativo. Este artigo fornece uma maneira rápida de aprender alguns dos recursos básicos para trabalhar no depurador.
Se você não tiver o Visual Studio, poderá instalar a versão de avaliação gratuita na página Downloads do Visual Studio.
Criar um novo projeto
Comece criando um novo projeto para que você tenha um código para verificar no depurador.
Abra o Visual Studio e crie um novo projeto.
Se a janela Iniciar não estiver aberta, selecioneJanela Iniciar>.
Na Janela Iniciar, selecione Criar um novo projeto.
Na janela Criar um novo projeto , defina os filtros e pesquise um modelo de projeto.
Na caixa Pesquisar modelos, insiravazio.
Expanda a lista suspensa Idioma e selecione C++.
Na lista de resultados, selecione o modelo Empty Project para C++e selecione Next.
Se você não vir o modelo Empty Project para C++, selecione a opção Continue sem código.
Selecione Tools>Get Tools and Features... , que abre o instalador de Visual Studio.
Na janela do Instalador, marque a caixa de seleção da carga de trabalho Desenvolvimento para desktop com C++ e selecione Modificar.
Sua instalação do Visual Studio é atualizada para incluir a carga de trabalho de C++ selecionada.
Após a conclusão da atualização, selecionea Janela de Início do > e siga as instruções anteriores para selecionar o modelo necessário.
Configure o novo projeto:
Insira um nome Project e Solution name ou use os valores padrão.
Use o Local padrão ou selecione procurar (...) para criar o projeto em uma pasta diferente.
Selecione Criar.
Visual Studio cria seu novo projeto e adiciona os arquivos de projeto na pasta especificada.
Adicionar um arquivo de projeto
Adicione um arquivo de código para que você tenha conteúdo para testar no depurador.
No painel Gerenciador de Soluções, clique com o botão direito do mouse no <project-name> e selecione Add>New Item.
Se você não vir o painel Gerenciador de Soluções, selecione View>Gerenciador de Soluções.
Na caixa de diálogo Adicionar novo item , insira o nome do arquivo MyDbgApp.cpp e selecione Adicionar.
O ficheiro é aberto no editor de código.
Adicione o código a seguir ao novo arquivo.
#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }Salve as alterações de arquivo com o atalho de teclado Ctrl+S .
Definir um ponto de interrupção
Um breakpoint é um marcador que indica onde Visual Studio deve suspender o código em execução. Quando um ponto de interrupção é definido, você pode dar uma olhada nos valores atuais das variáveis, examinar o comportamento da memória e verificar se um branch específico do código está em execução. Pontos de interrupção são o recurso mais básico na depuração.
Para definir um ponto de interrupção, localize a chamada à função
doWork()no código e selecione a margem esquerda na mesma linha.Quando o ponto de interrupção é definido, um ponto vermelho é exibido na margem esquerda da linha correspondente do código.
Inicie a depuração usando o atalho de teclado F5 (ou selecione Depurar>Iniciar Depuração).
A execução do código é pausada imediatamente antes da chamada para a
doWork()função.O depurador pausa no local em que você define o ponto de interrupção. Uma seta amarela identifica a instrução em que o depurador pausa a execução do aplicativo.
Dica
Ao depurar falhas relacionadas à memória no seu código C++, você também pode usar pontos de interrupção para inspecionar valores de endereço (procure
NULL) e contadores de referência.
Definir pontos de interrupção condicionais
Se você definir um ponto de interrupção em um loop ou recursão ou se tiver muitos pontos de interrupção que percorre com frequência, use um ponto de interrupção condicional.
Essa abordagem ajuda a garantir que seu código seja suspenso somente quando condições específicas forem atendidas. Um ponto de interrupção condicional pode economizar tempo e também facilitar a depuração de problemas difíceis de reproduzir.
Analise seu código passo a passo
Visual Studio fornece várias maneiras diferentes de instruir o depurador a continuar com a execução do aplicativo. O exemplo a seguir mostra um comando útil para percorrer seu código.
Enquanto o código estiver pausado no ponto de interrupção, passe o cursor sobre a instrução c1.push_back(20) até ver o ícone verde Executar até o clique (Executar até aqui)
. Selecione o ícone.
Enquanto o código está pausado no ponto de interrupção, passe o cursor sobre a instrução c1.AddLast(20) até ver o ícone verde Executar até o clique (Executar até aqui)
. Selecione o ícone.
O aplicativo continua a execução, chamando doWorke pausa na linha de código em que você selecionou Executar para clicar.
Os comandos comuns de teclado usados para percorrer o código incluem F10 e F11. Para obter instruções mais detalhadas, consulte Visão geral do depurador do Visual Studio.
Inspecionar variáveis em uma dica de informação
Você pode inspecionar o estado de suas variáveis usando o recurso de dica de dados .
Na linha de código atual (marcada pelo ponteiro de execução amarelo), posicione o ponteiro do mouse sobre o objeto
c1para ver a dica de dados.
A dica de dados mostra o valor atual da
c1variável e permite inspecionar suas propriedades.Quando você estiver depurando, se você vir um valor inesperado para uma variável, provavelmente há um bug. O bug pode estar no código que faz a chamada para a variável ou na linha anterior.
Expanda a dica de dados para examinar os valores atuais de propriedade do objeto
c1.Para continuar verificando o valor de
c1à medida que o código é executado, selecione o ícone Fixar
na dica de dados.A ação Fixar mantém a dica de dados aberta. Conforme o código é executado, o valor na dica fixada muda para mostrar o estado atual do objeto observado.
Você pode mover a dica fixada para qualquer local no IDE, para que ela não impeça você de assistir a outros itens durante a depuração.
Habilitar o recarregamento dinâmico durante a depuração
Enquanto estiver depurando, se identificar uma alteração que queira testar no seu código, poderá usar o recurso Recarga Dinâmica (anteriormente chamado de Edit and Continue).
Selecione a segunda instância da
c2.front()instrução e altere o código parac2.back().Selecione F10 algumas vezes (ou selecione Depurar>Passo a Passo algumas vezes) para avançar o depurador e executar o código editado.
F10 avança o depurador uma instrução por vez, mas depura as funções passo a passo, em vez de intervir nelas (o código que você ignora ainda é executado).
Para obter mais informações sobre o recurso e as limitações, consulte Configure Recarga Dinâmica.