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.
O depurador do Visual Studio fornece muitos recursos poderosos para ajudá-lo a depurar seus aplicativos. Este tópico fornece uma maneira rápida de aprender alguns dos recursos básicos.
Criar um novo projeto
Abra o Visual Studio e crie um projeto.
Se a janela Iniciar ainda não estiver aberta, selecione Arquivo > Janela Iniciar. Na janela Iniciar, selecione Criar um novo projeto. Na caixa de pesquisa, digite "Projeto vazio" e, em seguida, selecione o modelo de Projeto Vazio do C++.
Se você não vir o modelo de projeto, abra o Instalador do Visual Studio. Escolha a carga de trabalho Desenvolvimento para Desktop com C++, e, em seguida, escolha Modificar.
O Visual Studio cria o projeto.
Criar um novo arquivo de origem chamado
MyDbgApp.cppEm MyDbgApp.cpp, substitua o código a seguir
int main() { return 0; }com esse código (não remova
#include "stdafx.h"):#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(); }
Definir um ponto de interrupção
Um ponto de interrupção é um marcador que indica onde o Visual Studio deve suspender seu código em execução para que você possa dar uma olhada nos valores das variáveis ou no comportamento da memória ou se um branch de código está sendo executado ou não. É o recurso mais básico na depuração.
Para definir o ponto de interrupção, clique na margem à esquerda da chamada da função
doWork(ou selecione a linha de código e pressione F9).
Agora pressione F5 (ou escolha Depurar > Iniciar Depuração).
O depurador pausa no local em que você define o ponto de interrupção. A instrução em que o depurador e a execução do aplicativo são pausados é indicada pela seta amarela. A linha com a chamada de função
doWorkainda não foi executada.Dica
Se você tiver 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 para garantir que seu código seja suspenso SOMENTE quando condições específicas forem atendidas. Um ponto de interrupção condicional economiza tempo e também pode facilitar a depuração de problemas difíceis de reproduzir.
Ao tentar depurar falhas relacionadas à memória no C++, você também pode usar pontos de interrupção para inspecionar endereços de memória (procure valores nulos) e contagens de referência.
Navegue pelos códigos
Há comandos diferentes para instruir o depurador a continuar. Mostramos um comando de navegação de código útil que está disponível a partir do Visual Studio 2017.
Enquanto o código estiver em pausa no ponto de interrupção, passe o mouse sobre a instrução c1.push_back(20) até que o botão verde Executar com um clique
apareça e, então, pressione o botão Executar com um clique.
O aplicativo continua a execução, chamando doWorke pausa na linha de código em que você clicou no botão.
Os comandos comuns de teclado usados para percorrer o código incluem F10 e F11. Para obter instruções mais detalhadas, consulte Uma primeira visão do depurador.
Inspecionar variáveis em uma datatip
Na linha de código atual (indicada pelo ponteiro de execução amarelo), passe o mouse sobre o objeto
c1com o mouse para mostrar uma datatip.
A datatip mostra o valor atual da variável
c1e permite que você inspecione suas propriedades. Ao depurar, se você vir um valor que não espera, provavelmente haverá um bug nas linhas de código anteriores ou de chamada.Expanda a datatip para examinar os valores de propriedade atuais do objeto
c1.Se desejar fixar a datatip para poder continuar vendo o valor de
c1enquanto executa código, clique no pequeno ícone de marcador. (É possível mover a datatip fixada para uma localização conveniente.)
Editar código e continuar debugando
Se você identificar uma alteração que deseja testar em seu código enquanto estiver no meio de uma sessão de depuração, também poderá fazer isso.
Clique na segunda instância de
c2.front()e alterec2.front()parac2.back().Pressione F10 (ou 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 como usar editar e continuar e sobre limitações de recursos, consulte Editar e Continuar.
Próximas etapas
Neste tutorial, você aprendeu a iniciar o depurador, percorrer o código e inspecionar variáveis. Talvez você queira obter uma visão de alto nível dos recursos do depurador, com links para mais informações.