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

In questa fase il programma viene modificato per risolvere il problema rilevato durante il test del progetto.

Prerequisiti

Per correggere un bug nel programma

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

    Dalla barra del menu, scegliere Visualizza, Pagine delle proprietà.

    Nella finestra Visualizzazione classi, espandere la struttura ad albero del progetto Game e selezionare la classe Gioco di carte per visualizzare i membri della classe e i metodi.

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

  2. Per diminuire il valore totalParticipants al termine di un gioco di carte, 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 dovrebbe risultare simile al 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, scegliere Compilazione, Compila soluzione.

  5. Al termine della compilazione, eseguirla in modalità di debug scegliendo Debug, Avvia debug dalla barra dei menu, oppure premendo il tasto F5.Il programma viene sospeso al primo punto di interruzione.

  6. Per eseguire il programma, sulla barra dei menu, scegliere Debug, Esegui istruzione/routine, o premere il tasto F10.

    Si noti che dopo l'esecuzione di ogni costruttore Cardgame, il valore di totalParticipants aumenta.Quando la funzione PlayGames ritorna un valore, poiché ogni istanza del gioco viene eliminata (e viene chiamato il distruttore), totalParticipants decrementa.Immediatamente prima che venga eseguita l'istruzione return, totalParticipants è uguale a 0.

  7. Continuare ad eseguire il programma un'istruzione alla volta fino al termine, o lasciarlo eseguire scegliendo Debug, Esegui dalla barra dei menu, oppure premendo il tasto F5.

Passaggi successivi

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

Vedere anche

Attività

Presentazione guidata di Visual C++

Altre risorse

Building, Debugging, and Testing