Exemplarische Vorgehensweise: Debuggen eines Projekts (C++)

In dieser exemplarischen Vorgehensweise bearbeiten Sie das Programm, um das beim Testen des Projekts gefundene Problem zu beheben.

Voraussetzungen

  • In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie die Grundlagen der Programmiersprache C++ beherrschen.

  • Es wird ebenfalls davon ausgegangen, dass Sie die früheren exemplarischen Vorgehensweisen abgeschlossen haben, die unter Verwenden der Visual Studio-IDE für die C++-Desktopentwicklung aufgeführt sind.

So korrigieren Sie ein fehlerhaftes Programm

  1. Um zu sehen, was beim Zerstören eines Cardgame-Objekts geschieht, zeigen Sie den Destruktor der Cardgame-Klasse an.

    Klicken Sie in der Menüleiste auf Ansicht>Klassenansicht.

    Erweitern Sie im Fenster Klassenansicht die Projektstruktur Spiel, und wählen Sie zum Anzeigen der Klassenmembers und -methoden die Klasse Cardgame aus.

    Öffnen Sie das Kontextmenü für den Destruktor ~Cardgame (void) , und klicken Sie dann auf Gehe zu Definition.

  2. Um den Wert von totalParticipants beim Beenden eines Kartenspiels zu verringern, fügen Sie zwischen der öffnenden und der schließenden Klammer des Cardgame::~Cardgame-Destruktors folgenden Code hinzu.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Die Datei „Cardgame.cpp“ sieht nach der Änderung ungefähr wie der folgende Code aus:

    #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. Wählen Sie auf der Menüleiste Erstellen>Projektmappe erstellen aus.

  5. Führen Sie sie nach Abschluss des Buildvorgangs im Debugmodus aus, indem Sie in der Menüleiste auf Debuggen>Debuggen starten klicken oder F5 drücken. Die Programmausführung wird beim ersten Haltepunkt unterbrochen.

  6. Klicken Sie in der Menüleiste auf Debuggen>Prozedurschritt, oder drücken Sie F10, um das Programm schrittweise zu durchlaufen.

    Beachten Sie, dass der Wert von totalParticipants nach der Ausführung jedes Cardgame-Konstruktors zunimmt. Wenn die PlayGames-Funktion zurückkehrt, sobald jede Cardgame-Instanz den Gültigkeitsbereich verlässt und gelöscht wird (und der Destruktor aufgerufen wird), nimmt der Wert von totalParticipants ab. Direkt vor der Ausführung der return-Anweisung ist totalParticipants gleich 0.

  7. Setzen Sie das schrittweise Durchlaufen des Programms fort, bis es beendet wird, oder führen Sie das Programm aus, indem Sie in der Menüleiste auf Debuggen>Ausführen klicken oder F5 drücken.

Nächste Schritte

Zurück:Exemplarische Vorgehensweise: Testen eines Projekts (C++)
Weiter:Exemplarische Vorgehensweise: Bereitstellen des Programms (C++)

Siehe auch

C++-Programmiersprachenreferenz
Projekte und Buildsysteme