LAST UPDATE 1998/08/15


『 その9-5 』



 ■ プログラムのデバッグ

 今まで特に説明せずに来てしまったが、実はこのデバッグのテクニックはとても大切である。これが上手なのとそうでないのとではプログラム開発効率に大きな差が出てしまう。そこで、代表的なデバッグテクニックをいくつか紹介する。


 ■ ブレークポイント

 プルダウンメニュー : [デバッグ]からでも設定できるが、[F9]キーで設定するのが早い。プログラムを走らせた時に止めたい行のところに文字カーソルを移して[F9]キーを押す。するとそこの色が反転する。プログラムがその行をに到達した時点で一時停止になるので、イミディエイトウインドウなどを使って、各種変数の値などを調べることができる。

image160.gif

 ■ ステップ

 これはプログラムを1命令ずつ実行することができ、Callなどで呼び出されるプロシージャーを1命令として実行するのが「ステップオーバー」、プロシージャーへ飛んでそこも全て1命令ずつ実行していくのが「ステップイン」とか呼ばれているようだ。
 [F8]キーがステップインに割り当てられていて、if命令されたループ処理がどういうように処理されていくか確かめることができる。


 ■ Debug.Print

 プログラムを実行させると、何も書いていないウインドウが表示され、そのタイトルバーには「イミティエイト」と書かれている。 Debug.Printはここに何かを表示させる命令でデバッグの時だけ使用される。以下に示した例では、BlockInfoから読み出した値を表示させている。


 ■ 変数の値を調べる(その1)

 プログラムが一時停止しているときはイミデイエイトウインドウがアクティブになっていて、書きこみができる。例えば上の例で変数Bの値を調べたい場合はキーボードを使って
    ?b[Enter]
と打ち込む。するとBの内容が表示される。「?」はベーシックの伝統でPrintを意味する。これはVBがサポートする全ての命令が使えるということになっているので、内容を16進数で表示したい場合は
    ?hex(b)[Enter]
と打ち込めば良い。

image156.gif
image158.gif
image162.gif


 ■ 変数の値を調べる(その2)

 VB5になって便利な機能が追加された。変数の場所にマウスカーソルを合わせると、その内容が表示される。単純に変数の内容だけが知りたい場合はこれが最も簡単な方法である。

image163.gif


 ■ 変数の値を調べる(その3)

 ウオッチ式の追加という最も高度な方法で、複雑な数式の計算結果などにも応用できる。まず調べたい部分(変数でも数式でも可)をマウスを使って選択状態にする。そしてプルダウン:[デバッグ>ウオッチ式の追加]を選択する。 すると、ダイアログボックスが表示され、選択された部分がウオッチ式として読み込まれ登録できる。この時点で数式を好きなように書き換えることもできる。 ダイアログボックスの[OK]ボタンをクリックすると、ウオッチウインドウが表示され、ステップを使ってプログラムをトレースしている間は内容が自動的に更新される。

image164.gif
image165.gif


 ■ とにかく慣れろ

 デバッグ方法には「こうすれば良い」という決まった方法はない。しかし効率の良いデバッグ方法を知っているのと知らないのとでは、プログラムの開発時間が何倍も違ってくる。
 以前「良いプログラマーとそうでないプログラマー」について書いたが、確かに一番大切なのは「プログラムをきちんと設計できるか」ということである。そしてその次に大切なのは「デバッグが上手にできるか」ということで、あいかわらず「特定の言語に精通している」ということはランク外なのである。

 次回はいよいよキーボードの入力によってブロックが動くのでお楽しみに…








その9-1 | その9-2 | その9-3 | その9-4 | その9-5

『 サルのゲーム製作講座 』 目次 | その 1 | その 2 | その 3 | その 4 |
その 5 | その 6 | その 7 | その 8 | その 9 | その 10 | その 11


もどる

e-mail: sc_3da@magical2.egg.or.jp