Delen via


Walkthrough: Fouten opsporen in een project (C++)

In dit scenario wijzigt u het programma om het probleem op te lossen dat u hebt gevonden toen u het project testte.

Vereiste voorwaarden

  • In dit scenario wordt ervan uitgegaan dat u de basisprincipes van de C++-taal begrijpt.

  • Aangenomen wordt dat u de eerdere gerelateerde handleidingen hebt voltooid die worden vermeld in Visual Studio IDE voor C++ Desktop Development.

Een programma met een bug oplossen

  1. Als u wilt zien wat er gebeurt wanneer een Cardgame object wordt vernietigd, bekijkt u de destructor voor de Cardgame klasse.

    Kies op de menubalk Weergave>Klasseweergave.

    Vouw in het venster Class View de structuur van het Game-project uit en selecteer de Cardgame-klasse om de klasseleden en methoden weer te geven.

    Open het snelmenu voor de destructor ~Cardgame(void) en kies Ga naar definitie.

  2. Om de totalParticipants te verminderen wanneer een cardgame eindigt, voegt u de volgende code toe tussen de openings- en sluitingsaccolade van de Cardgame::~Cardgame destructor.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Het Cardgame.cpp-bestand moet er ongeveer als volgt uitzien nadat u het hebt gewijzigd:

    #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. Kies Build>Oplossing bouwen in de menubalk.

  5. Wanneer de build is voltooid, voert u deze uit in de foutopsporingsmodus door Foutopsporing> op de menubalk te kiezen of door de F5-toets te kiezen. Het programma wordt onderbroken op het eerste onderbrekingspunt.

  6. Als u het programma wilt doorlopen, kiest u op de menubalk Debug>Step Over of kiest u de F10-toets .

    Merk op dat nadat elke Cardgame constructor is uitgevoerd, de waarde van totalParticipants toeneemt. Wanneer de PlayGames functie retourneert, valt elk Cardgame exemplaar buiten het bereik en wordt verwijderd (en wordt de destructor aangeroepen), en neemt totalParticipants af. Net voordat de return instructie wordt uitgevoerd, staat totalParticipants gelijk aan 0.

  7. Ga door met het doorlopen van het programma totdat het wordt afgesloten of laat het uitvoeren door Foutopsporing>uitvoeren te kiezen op de menubalk of door de F5-toets te kiezen.

Volgende stappen

Vorige:Walkthrough: Een project testen (C++)
Volgende:Walkthrough: Uw programma implementeren (C++)

Zie ook

Naslaginformatie over C++-taal
Projecten en bouwsystemen