Поделиться через


Пошаговое руководство. Отладка проекта (C++)

В этом пошаговом руководстве рассматривается изменение программы для устранения проблемы, обнаруженной при проверке проекта.

Необходимые компоненты

Исправление программы с ошибкой

  1. Чтобы узнать, что происходит при уничтожении объекта Cardgame, просмотрите деструктор класса Cardgame.

    В строке меню выберите Вид>Представление классов.

    В окне Представление классов разверните дерево проекта Game и выберите класс Cardgame для отображения его членов и методов.

    Откройте контекстное меню для деструктора ~Cardgame(void) и выберите Перейти к определению.

  2. Чтобы уменьшить totalParticipants при завершении Cardgame, добавьте приведенный ниже код между открывающей и закрывающей фигурными скобками деструктора Cardgame::~Cardgame.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. После изменений файл Cardgame.cpp должен содержать примерно такой код:

    #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. В строке меню последовательно выберите Сборка>Собрать решение.

  5. После завершения сборки запустите ее в режиме отладки, выбрав Отладка>Начать отладку в строке меню или нажав клавишу F5. Программа останавливается в первой точке останова.

  6. Для пошагового выполнения программы в строке меню выберите Отладка>Шаг с обходом или нажмите клавишу F10.

    Обратите внимание, что после каждого выполнения конструктора Cardgame значение totalParticipants увеличивается. Когда функция PlayGames возвращает значение, так как каждый экземпляр Cardgame выходит за пределы области и удаляется (и вызывается деструктор), значение totalParticipants уменьшается. Непосредственно перед выполнением оператора return значение totalParticipants равно нулю.

  7. Продолжайте пошаговое выполнение программы до ее завершения или позвольте ей выполняться, выбрав Отладка>Выполнить в строке меню или нажав клавишу F5.

Next Steps

Предыдущий: пошаговое руководство. Тестирование проекта (C++)
Далее: пошаговое руководство. Развертывание программы (C++)

См. также

Справочник по языку C++
Проекты и системы сборки