Dela via


Genomgång: Felsöka ett projekt (C++)

I den här genomgången ändrar du programmet för att åtgärda problemet som du hittade när du testade projektet.

Förutsättningar

Så här åtgärdar du ett program som har en bugg

  1. Om du vill se vad som händer när ett Cardgame objekt förstörs kan du visa destructor för Cardgame klassen.

    På menyraden väljer du Visa>klassvy.

    I fönstret Klassvy expanderar du projektträdet Spel och väljer klassen Cardgame för att visa klassmedlemmar och metoder.

    Öppna snabbmenyn för destruktorn ~Cardgame(void) och välj sedan Gå till definition.

  2. Om du vill minska totalParticipants när ett Cardgame slutar, lägg till följande kod mellan den inledande och avslutande klammerparentesen i destruktorn Cardgame::~Cardgame.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Filen Cardgame.cpp bör likna koden nedan när du har ändrat den:

    #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. På menyraden väljer du Skapa>bygglösning.

  5. När bygget är klart kör du det i felsökningsläge genom att välja Felsöka>Starta felsökning på menyraden eller genom att välja F5-nyckeln . Programmet pausar vid den första brytpunkten.

  6. Om du vill gå igenom programmet går du till menyraden, väljer Felsöka>Steg över eller väljer F10-nyckeln .

    Observera att när varje Cardgame konstruktor körs ökar värdet för totalParticipants. När funktionen PlayGames returnerar, och varje Cardgame instans hamnar utanför omfånget och tas bort (och destruktorn anropas), minskar totalParticipants. Precis innan -instruktionen return körs är totalParticipants lika med 0.

  7. Fortsätt att gå igenom programmet tills det avslutas eller låt det köras genom att välja Felsöka>Kör på menyraden eller genom att välja F5-nyckeln .

Nästa steg

Föregående:Genomgång: Testa ett projekt (C++)
Nästa:Genomgång: Distribuera ditt program (C++)

Se även

C++-språkreferens
Projekt och byggsystem