Partilhar via


Passo a passo: Depurando um projeto (C++)

Nesta explicação passo a passo, você modifica o programa para corrigir o problema encontrado quando você testou o projeto.

Pré-requisitos

Para corrigir um programa que tem um bug

  1. Para ver o que ocorre quando um Cardgame objeto é destruído, exiba o destruidor da Cardgame classe.

    Na barra de menus, escolha View>Class View.

    Na janela Class View , expanda a árvore do projeto Game e selecione a classe Cardgame para exibir os membros e métodos da classe.

    Abra o menu de atalho para o destruidor ~Cardgame(void) e escolha Ir para definição.

  2. Para diminuir o totalParticipants quando um Cardgame termina, adicione o seguinte código entre as chaves de abertura e fecho do destrutor Cardgame::~Cardgame.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. O arquivo Cardgame.cpp deve se parecer com o código abaixo depois de alterá-lo:

    #include "Cardgame.h"
    #include <iostream>
    
    using namespace std;
    
    int Cardgame::totalParticipants = 0;
    
    Cardgame::Cardgame(int players)
        : players(players)
    {
        totalParticipants += players;
        cout << players << " players have started a new game.  There are now "
             << totalParticipants << " players in total." << endl;
    }
    
    Cardgame::~Cardgame()
    {
        totalParticipants -= players;
        cout << players << " players have finished their game.  There are now "
             << totalParticipants << " players in total." << endl;
    }
    
  4. Na barra de menus, escolha Build>Build Solution.

  5. Quando a compilação for concluída, execute-a no modo de Depuração, escolhendo Depurar>Iniciar Depuração na barra de menus ou escolhendo a tecla F5 . O programa pausa no primeiro ponto de interrupção.

  6. Para percorrer o programa, na barra de menus, escolha Debug>Step Over ou escolha a tecla F10 .

    Observe que depois de cada Cardgame construtor executar, o valor de totalParticipants aumenta. Quando a PlayGames função retorna, à medida que cada Cardgame instância sai do escopo e é excluída (e o destruidor é chamado), totalParticipants diminui. Pouco antes da instrução return ser executada, totalParticipants é igual a 0.

  7. Continue passando pelo programa até que ele saia, ou deixe-o executar escolhendo Depurar>Executar na barra de menus, ou escolhendo a tecla F5 .

Próximas Etapas

Anterior:Passo a passo: Testando um projeto (C++)
Próximo:Passo a passo: Implantando seu programa (C++)

Ver também

Referência da linguagem C++
Projetos e construção de sistemas