Walkthrough: Debugging a Project (C++)
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Walkthrough: Debugging a Project (C++).
In this walkthrough, you modify the program to fix the problem that you discovered when you tested the project.
Prerequisites
This walkthrough assumes that you understand the fundamentals of the C++ language.
It also assumes that you have completed the earlier related walkthroughs that are listed in Using the Visual Studio IDE for C++ Desktop Development.
To fix a program that has a bug
To see what occurs when a
Cardgame
object is destroyed, view the destructor for theCardgame
class.On the menu bar, choose View, Class View.
In the Class View window, expand the Game project tree and select the Cardgame class to display the class members and methods.
Open the shortcut menu for the ~Cardgame(void) destructor and then choose Go To Definition.
To decrease the
totalParticipants
when a Cardgame terminates, add the following code between the opening and closing braces of theCardgame::~Cardgame
destructor.totalParticipants -= players; cout << players << " players have finished their game. There are now " << totalParticipants << " players in total." << endl;
The Cardgame.cpp file should resemble this after you change it:
#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; }
On the menu bar, choose Build, Build Solution.
When the build completes, run it in Debug mode by choosing Debug, Start Debugging on the menu bar, or by choosing the F5 key. The program pauses at the first breakpoint.
To step through the program, on the menu bar, choose Debug, Step Over, or choose the F10 key.
Notice that after each Cardgame constructor executes, the value of
totalParticipants
increases. When thePlayGames
function returns, as each Cardgame instance goes out of scope and is deleted (and the destructor is called),totalParticipants
decreases. Just before thereturn
statement is executed,totalParticipants
equals 0.Continue stepping through the program until it exits, or let it run by choosing Debug, Run on the menu bar, or by choosing the F5 key.
Next Steps
Previous: Walkthrough: Testing a Project (C++) | Next:Walkthrough: Deploying Your Program (C++)
See Also
Visual C++ Guided Tour
DELETE_PENDING_Building and Debugging