Procedura dettagliata: debug di un progetto (C++)

In questa procedura dettagliata si modifica il programma per risolvere il problema rilevato durante il test del progetto.

Prerequisiti

Per correggere un programma che presenta un bug

  1. Per conoscere cosa accade quando un oggetto Cardgame viene eliminato definitivamente, visualizzare il distruttore per la classe Cardgame.

    Nella barra dei menu scegliere Visualizza>visualizzazione classe.

    Nella finestra Visualizzazione classi espandere la struttura del progetto Game e selezionare la classe Cardgame per visualizzare i membri e i metodi della classe.

    Aprire il menu di scelta rapida per il distruttore ~Cardgame (void), quindi scegliere Vai a definizione.

  2. Per diminuire il valore totalParticipants al termine di un'istanza di Cardgame, aggiungere il codice seguente tra le parentesi graffe di apertura e chiusura del distruttore Cardgame::~Cardgame.

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Dopo le modifiche, il file Cardgame.cpp risulta simile al codice seguente:

    #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. Nella barra dei menu scegliereCompila soluzione di compilazione>.

  5. Al termine della compilazione, eseguirla in modalità debug scegliendo DebugAvvia debug> sulla barra dei menu o scegliendo il tasto F5. L'esecuzione del programma viene sospesa al primo punto di interruzione.

  6. Per eseguire il programma, nella barra dei menu scegliere Debug>Passaggio su o scegliere il tasto F10 .

    Si noti che dopo l'esecuzione di ogni costruttore Cardgame, il valore di totalParticipants aumenta. Quando la funzione PlayGames restituisce un valore, poiché ogni istanza di Cardgame esce dall'ambito e viene eliminata (con conseguente chiamata del distruttore), il valore di totalParticipants diminuisce. Prima dell'esecuzione dell'istruzione return, totalParticipants è uguale a 0.

  7. Continuare a eseguire il programma fino a quando non viene chiuso o lasciare che venga eseguito scegliendo Esegui debug> sulla barra dei menu oppure scegliendo il tasto F5.

Passaggi successivi

Precedente:Procedura dettagliata: verifica di un progetto (C++)
Successivo:Procedura dettagliata: distribuzione di un programma (C++)

Vedi anche

Informazioni di riferimento sul linguaggio C++
Progetti e sistemi di compilazione