デバッグ

説明

Visual Studioには、非常に強力なデバッグツールがあります。これらのツールにより、プロジェクトのバグを識別して修正するために必要な時間が大幅に減少し、DLLの開発に大きく役立ちます。

デバッグの準備

デバッグを開始する前に、DLLがデバッグ構成を使用して構築されていることを確認します。構成を変更するには、[ソリューションの構成]コンボボックスの[デバッグ]を選択します。

Visual Studio Debuggerのアタッチ

DLLをデバッグするには、DLLを使用するプログラム(この場合はFlexSim)にVisual Studioをアタッチする必要があります。DLLをデバッグするときにVisual StudioがFlexSimを起動して自身をFlexSimに自動的にアタッチするようにVisual Studioを構成することができます。このようにセットアップするには、次の手順に従います。

  1. プロジェクト]メニューの[[ProjectName]のプロパティ]を選択します。
  2. 現在のプラットフォームと構築の設定が正しいことを確認します。
  3. 左側のツリーメニューで、[構成プロパティ]オプションを展開し、[デバッグ]を選択します。
  4. コマンド]フィールドに、FlexSimの完全なパス(C:\Path\To\flexsim.exe)を入力します。
  5. アタッチ]オプションを[いいえ]に設定します。

これで、デバッグを開始すると、Visual StudioがFlexSimを起動し、自身をFlexSimに自動的にアタッチします。Visual Studioがアタッチされているときは、FlexSimのロード時間が長くなることがあります。

Visual Studioを手動でFlexSimにアタッチすることもできます。[デバッグ]メニューで[プロセスにアタッチ]を選択し、プロセスのリストから[flexsim.exe]を選択して[アタッチ]をクリックします。

ブレイクポイント

Visual Studioでブレイクポイントを設定するのはごく簡単で、コードの行の左側をクリックするだけです。赤色の八角形が表示されます。プログラムでそのコマンドが実行されるとき、Visual Studioによってプログラムが一時停止されます。ここでは、通常のブレイクポイントタスクとして、ローカル変数の値の参照や、コードのステップイン、ステップアウト、ステップオーバーなどを行えます。

条件付きブレイクポイント

ブレイクポイントを設定した後で、そのブレイクポイントを右クリックし、[条件]を選択して、条件付きブレイクポイントにできます。指定された条件が真のとき、プログラムの実行はブレイクポイントで停止します。この機能は、頻繁に実行されるコードをデバッグするとき非常に便利です。

出力ブレイクポイント

右クリックオプションの[ヒット時]を選択すると、ブレイクポイントを出力ブレイクポイントにすることもできます。この種のブレイクポイントは、出力ウィンドウにカスタムメッセージ(現在の変数の値を含めることもできます)を出力するだけで、実行は停止しません(オプション)。この機能は、コードに記述されたprintコマンドの代わりに使用できます。

ウォッチウィンドウ

ウォッチウィンドウ([デバッグ] > [ウィンドウ]メニューで表示)には、ユーザー定義の式のリストが含まれています。これらの式は単なる変数でも、関数呼び出しを含む複雑なステートメントでもかまいません。ウォッチウィンドウは、選択した変数グループを観察するために便利です。

自動変数ウィンドウ

自動変数ウィンドウ([デバッグ] > [ウィンドウ]メニューで表示)は動的なリストの値を保持します。これらの値にはローカル変数だけでなく、関数呼び出しにより返された値も、変数に割り当てられていないものも含まれます。これにより、複雑なコードの行に関連するすべての値を確認できます。

Spy++

Spy++は、特定のウィンドウとの間で送信されたメッセージを表示するアプリケーションです([ツール]メニューで表示)。特定のウィンドウをモニターするには、次の手順に従います。

  1. ボタンをクリックします。
  2. ファインダーツールを目的のウィンドウにドラッグします。
  3. 表示]パネルで、[メッセージ]ラジオオプションを選択します。

選択したウィンドウとの間で送信されるすべてのメッセージが、そのメッセージで送信された値とともに、Spy++ウィンドウに表示されます。