プログラムを実行するときに、プログラムの入力ミス等があれば、メッセージが表示されて実行ができません。また編集中に、コードに「波線」が付き、メッセージも表示されるので、すぐに誤りであることを確認することができます。しかし、プログラムに問題はなく、文法も間違いがない場合でも、思ったとおりの結果が出ないことがあります。その場合、どこが原因なのかが追求しにくくなります。そのため、VBをはじめとする統合開発環境は、デバッグツールが用意されています。これから、デバッグツールの使い方を見てみましょう。
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | Windows フォーム アプリケーション |
---|---|
プロジェクト名 | DebugTest |
○ フォームデザイン
次の図のようにコントロールを配置してください。
○ プログラム
「Button」のクリック時の処理として次のプログラムを入力してください。なお今回は、「testFunc」というプロシージャも記述します。
※ プロシージャは後ほど説明します。
○ 実行
実行すると、「イミディエイト ウィンドウ」に結果が表示されます。実行されている途中でどのような処理が行なわれているのか、またどのような値が設定されているかなどを確認してみましょう。そのためには、実行を一時停止させなくてはなりません。次の図の囲みが指す領域をクリックすることで、プログラムを一時停止させることができるようになります。
※ 上の図は、オプションの設定により、行番号を表示させています。
上の図の領域を一度クリックすると が付き、もう一度クリックすると消えます。このを「ブレークポイント」と呼びます。表示させた状態にしておけば、実行時にそこで停止します。今回は次の図で示している行で停止させましょう。
デバッグ実行すると、指定した行で一時停止して、プログラムを見ることができるようになります。その後、1行ずつ実行することができます。実行する方法には3つあります。
ステップイン実行は、処理の流れを逐一追いかけて実行します。一時停止したら、ツールバーよりのアイコンをクリックします。図2-13のプログラムで流れを追うと、次のような順番になります。
8 → (9) → 10 → 11 → 12 → 2 → (3) → 4 → 5 → 6 → 12 → 13 → 14 → 15
関数の呼び出しがあった場合、内部まで追いかけずに実行します。一時停止したら、ツールバーよりのアイコンをクリックします。図2-13のプログラムで流れを追うと、次のような順番になります。
8 → (9) → 10 → 11 → 12 → 13 → 14 → 15
一時停止した行が関数の途中にある場合、残りの行を一気に処理して、呼び出し元に戻ります。一時停止したら、ツールバーよりをクリックします。図2-14のプログラムの流れを追うと、次のような順番になります。
4 → 12