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
In questa procedura dettagliata si presuppone la conoscenza delle nozioni di base del linguaggio C++.
Si presuppone anche che l'utente abbia completato le procedure dettagliate correlate elencate in precedenza in Utilizzo dell'ambiente di sviluppo di Visual Studio per lo sviluppo di applicazioni desktop C++.
Per correggere un programma che presenta un bug
Per conoscere cosa accade quando un oggetto
Cardgame
viene eliminato definitivamente, visualizzare il distruttore per la classeCardgame
.Sulla barra dei menu scegliere Visualizza>Visualizzazione classi.
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.
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 distruttoreCardgame::~Cardgame
.totalParticipants -= players; cout << players << " players have finished their game. There are now " << totalParticipants << " players in total." << endl;
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; }
Nella barra dei menu scegliere Compila>Compila soluzione.
Al termine della compilazione, eseguire il programma in modalità di debug scegliendo Debug>Avvia debug sulla barra dei menu oppure premendo F5. L'esecuzione del programma viene sospesa al primo punto di interruzione.
Per eseguire il programma un'istruzione alla volta, sulla barra dei menu scegliere Debug>Esegui istruzione/routine o premere F10.
Si noti che dopo l'esecuzione di ogni costruttore
Cardgame
, il valore ditotalParticipants
aumenta. Quando la funzionePlayGames
restituisce un valore, poiché ogni istanza diCardgame
esce dall'ambito e viene eliminata (con conseguente chiamata del distruttore), il valore ditotalParticipants
diminuisce. Prima dell'esecuzione dell'istruzionereturn
,totalParticipants
è uguale a 0.Continuare a eseguire il programma un'istruzione alla volta fino al termine oppure scegliere Debug>Esegui sulla barra dei menu o premere F5 per consentirne l'esecuzione in sequenza.
Passaggi successivi
Precedente: Procedura dettagliata: Test di un progetto (C++)
Successiva: Procedura dettagliata: Distribuzione del programma (C++)
Vedi anche
Riferimenti al linguaggio C++
Progetti e sistemi di compilazione