ステップ実行

InputBoxを利用したデバッグの方法を学んだが、VisualStudioには最初からデバッグの機能が備わっている。

先のプログラム例を入力してみよう。


InputBoxによるデバッグ

このプログラムを実行する前に、画面の以下の部分をクリックしよう。

その後で通常と同じようにプログラムをスタートする。

Button1を押すとVisualStudioのウインドウが次のような画面になる。

これは、プログラムの実行が Dim x の後黄色で示された行を実行する直前に一旦中断されたということを示している。そしてウインドウの下の方には次のような表示があるはずだ。

これは、TextBox1.Text、TextBox2.Textに現在何が入っているかを示している。

次に示すボタンをクリックしてみよう。

すると次のような表示になる。

これは、プログラムを1行だけ実行し、現在新しく黄色でマークされた行を実行する直前の状態であることを示している。そして、下の方に名前の欄がxの行を見ると、値が "1001"となっている。これはこの時xに"1001"が格納されていることを示している。

このように、VisualStudioのデバッグ機能を使うと、プログラムを1ステップずつ進めながら変数の値を確認することができる。

最初のうちは、この機能をうまく利用して、プログラムの実行を1ステップずつ見てみるとよいだろう。そうすると、プログラムがどのように動いているか、理解が深まることと思う。

デバッグの限界(参考)

プログラミングを学んでいる諸君にとっては、デバッグ機能はプログラムの実際の動作を理解するために、非常に役立つだろう。ぜひ様々なプログラムで、ステップ実行を行い、プログラムがどのように実行されるか予想する能力を身に着けてほしい。

しかし、実際にプログラムを開発する業務につくと、1ステップずつ実行していくデバック方法には限界がある。たとえばDVDの再生のプログラムは、1画面の再生までに約10億ステップ程度を必要とする。もしDVDの2枚目の画像、すなわちスタートから1/30秒後に、フリーズするという問題があったとして、1ステップずつ実行しながらデバッグを進めると1ステップを0.1秒で行ったとしても1億秒=1画面分の動作を調べるののに3年程度かかってしまう。

PS3のゲームをデバッグする場合もまったく同様だ。ゲーム開始後1秒後に発生する問題を見つけるにはやはり3年以上の年月が必要だ。

このように、諸君もいずれは、プログラムを数学的、論理的に扱う能力が必要になってくる。そのような能力はこれから3年間のカリキュラムの中で総合的に身に着けることになる。もし、様々なコンピュータの応用を本当に自由自在に考案、構築できるようになりたいならば、こういったプログラミングに対する深い知識と、数学などの基礎的な思考力が重要になることを意識して、根気よく研さんを続けよう。