チュートリアル: プロジェクトのデバッグ (C++)

このチュートリアルでは、プロジェクトのテスト時に見つかった問題を修正するために、プログラムに変更を加えます。

必須コンポーネント

バグがあるプログラムを修正するには

  1. Cardgame オブジェクトが破棄されるとどうなるかを確認するには、Cardgame クラスのデストラクターを見ます。

    メニュー バーで [表示]>[クラス ビュー] の順に選択します。

    [クラス ビュー] ウィンドウで、 [Game] プロジェクト ツリーを展開し、 [Cardgame] クラスを選択して、クラス メンバーとメソッドを表示します。

    ~Cardgame(void) デストラクターのショートカット メニューを開き、 [定義へ移動] を選択します。

  2. Cardgame が終了したときに totalParticipants を減らすには、Cardgame::~Cardgame デストラクターの左右の中かっこの間に次のコードを入力します。

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. 変更後、Cardgame.cpp ファイルは次のコードのようになります。

    #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. メニュー バーで、 [ビルド]>[ソリューションのビルド] の順にクリックします。

  5. ビルドが完了したら、メニュー バーの [デバッグ]>[デバッグ開始] を選択するか、または F5 キーを選択して、デバッグ モードで実行します。 プログラムは、最初のブレークポイントで停止します。

  6. プログラムを実行するには、メニュー バーで [デバッグ]>[ステップ オーバー] の順に選択するか、F10 キーを押します。

    Cardgame コンストラクターが実行されるたびに totalParticipants の値が増加します。 PlayGames 関数が返されると、Cardgame インスタンスがスコープ外に出て削除される (デストラクターが呼び出される) ため、totalParticipants が減少します。 return ステートメントが実行される直前に、totalParticipants は 0 になります。

  7. プログラムが終了するまで続行するか、またはメニュー バーの [デバッグ]>[実行] を選択するか F5 キーを選択して続行します。

次のステップ

前へ: チュートリアル: プロジェクトのテスト (C++)
次へ: チュートリアル: プログラムの配置 (C++)

関連項目

C++ 言語リファレンス
プロジェクトおよびビルド システム