Instruções passo a passo: depurando um projeto (C++)

Neste passo a passo, você modificará o programa para corrigir o problema encontrado durante o teste do projeto.

Pré-requisitos

Para corrigir um programa com um bug

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

    Na barra de menus, escolha Exibir>Modo de Exibição de Classe.

    Na janela Modo de Exibição de Classe, expanda a árvore do projeto Game e selecione a classe Cardgame para exibir os métodos e os membros da classe.

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

  2. Para diminuir o totalParticipants quando um Cardgame é encerrado, adicione o código a seguir entre as chaves de abertura e fechamento do destruidor 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 ter a aparência do código abaixo depois de alterado:

    #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 Compilar>Compilar Solução.

  5. Quando o build for concluído, execute-o 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 executar programa em etapas, na barra de menus, escolha Depurar>Depuração Parcial ou escolha a tecla F10.

    Observe que, após a execução de cada construtor Cardgame, o valor de totalParticipants aumenta. Quando a função PlayGames é retornada, à medida que cada instância Cardgame sai do escopo e é excluída (e o destruidor é chamado), totalParticipants diminui. Logo antes da execução da instrução return, totalParticipants é igual a 0.

  7. Continue executando o programa em etapas até que ele seja encerrado ou deixe-o em execução 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++)

Confira também

Referência da linguagem C++
Sistemas de build e projetos