Udostępnij za pośrednictwem


Wskazówki: debugowanie projektu (C++)

W tym przewodniku, zmodyfikujemy program, aby naprawić błąd, odkryty podczas testowania projektu.

Wymagania wstępne

Aby naprawić program, który ma błąd

  1. Aby zobaczyć, co ma miejsce podczas niszczenia obiektu Cardgame, należy zobaczyć destruktor klasy Cardgame.

    Na pasku menu wybierz Widok, Widok klasy.

    W oknie Widok klasy, rozwiń drzewo projektu Game, a następnie wybierz klasę Cardgame aby wyświetlić metody i elementy członkowskie klasy.

    Otwórz menu skrótów dla destruktora ~Cardgame(void), a następnie wybierz Przejdź do definicji.

  2. Aby zmniejszyć liczbę totalParticipants podczas niszczenia Cardgame, dodaj następujący kod pomiędzy nawiasy klamrowe destruktora Cardgame::~Cardgame.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Plik Cardgame.cpp powinien po zmianach przypominać:

    #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 pasku menu wybierz Kompilacja, Skompiluj rozwiązanie.

  5. Po zakończeniu kompilacji, uruchom go w trybie debugowania, wybierając Debuguj, Rozpocznij debugowanie na pasku menu lub wciskając klawisz F5.Program zatrzyma się w pierwszym napotkanym punkcie przerwania.

  6. Aby przejść przez program, na pasku menu wybierz Debuguj, Przekrocz, lub wybierz klawisz F10.

    Należy zauważyć, że po każdym wykonaniu konstruktora klasy Cardgame, wartość totalParticipants zwiększa się.Gdy funkcja PlayGames, zwraca wartość, i tak samo gdy dowolne wystąpienie Cardgame wykracza poza zakres i jest usuwane (i wywoływany jest destruktor), wartość totalParticipants zmniejsza się.Tuż przed wykonaniem instrukcji return wartość totalParticipants jest równa 0.

  7. Kontynuuj przechodzenie przez program aż do jego zakończenia lub wybierz Debuguj, Uruchom na pasku menu lub wciśnij klawisz F5 aby uruchomić program.

Następne kroki

Wstecz:Wskazówki: testowanie projektu (C++) | Dalej:Wskazówki: wdrażanie Twojego programu (C++)

Zobacz też

Zadania

Przewodnik po programie Visual C++

Inne zasoby

Building, Debugging, and Testing