Udostępnij za pośrednictwem


Wskazówki: debugowanie projektu (C++)

W tym przewodniku zmodyfikujesz program, aby rozwiązać problem znaleziony podczas testowania projektu.

Wymagania wstępne

  • W tym przewodniku założono, że rozumiesz podstawy języka C++.

  • Przyjęto również założenie, że zostały wykonane wcześniejsze powiązane przewodniki wymienione w temacie Using the Visual Studio IDE for C++ Desktop Development (Korzystanie ze środowiska IDE programu Visual Studio dla języka C++).

Aby naprawić program, który zawiera usterkę

  1. Aby zobaczyć, co ma miejsce w przypadku Cardgame zniszczenia obiektu, wyświetl destruktor klasy Cardgame .

    Na pasku menu wybierz pozycję Wyświetl>widok klasy.

    W oknie Widok klasy rozwiń drzewo projektu Game i wybierz klasę Cardgame, aby wyświetlić składowe i metody klasy.

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

  2. Aby zmniejszyć totalParticipants czas zakończenia gry Cardgame, dodaj następujący kod między nawiasami Cardgame::~Cardgame klamrowymi otwierającą i zamykającą destruktora.

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

    #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 pozycję Kompiluj rozwiązanie kompilacji>.

  5. Po zakończeniu kompilacji uruchom ją w trybie debugowania, wybierając pozycję Debuguj>Rozpocznij debugowanie na pasku menu lub wybierając F5. Program wstrzymuje się w pierwszym punkcie przerwania.

  6. Aby przejść przez program, na pasku menu wybierz pozycję Debuguj>krok po kroku lub wybierz F10.

    Zwróć uwagę, że po wykonaniu każdego Cardgame konstruktora totalParticipants wartość zwiększa się. PlayGames Gdy funkcja zwraca wartość , ponieważ każde Cardgame wystąpienie wykracza poza zakres i jest usuwane (a destruktor jest wywoływany), totalParticipants zmniejsza się. Tuż przed wykonaniem totalParticipants instrukcji return równa się 0.

  7. Kontynuuj przechodzenie przez program do momentu zakończenia działania lub pozwól mu uruchomić, wybierając pozycję Debuguj>uruchom na pasku menu lub wybierając F5 .

Następne kroki

Poprzedni: Przewodnik: testowanie projektu (C++)
Dalej: Przewodnik: wdrażanie programu (C++)

Zobacz też

Dokumentacja języka C++
Projekty i systemy kompilacji