0からのゲームプログラミング > デバッグ

Back Next
更新日 2003.09.15
デバッグ

 前回の最後のプログラムコードは、若干ひねくれたコードでした。もしかしたら、実行結果のように本当に実行されているのか、と疑ってしまうかも知れません。デバッグをすれば、コードを一行一行追うことが出来ます。今回は、そのデバッグのやり方についてです。
 

◆デバッグ
 プログラムの誤り(バグ<bug : 虫>)を見つけて修正すること。

◆デバッガ
 デバッグする為のプログラムのこと。
 


◆Borland C++ Compiler 5.5 を使っている方へ
 Turbo Debugger 5.5
 http://www.borland.co.jp/cppbuilder/freecompiler/
 まずは、Borland のサイトからデバッガをダウンロードしましょう。このプログラムも無償で利用することが出来ますが、使う為には「使用者登録」が必要です。
 インストールはどこにしても構いませんが、分かり易いように、Borland C++ Compiler 5.5 をインストールした場所と同じところにしておきましょう。
 例えば、Borland C++ Compiler 5.5 を、「C:\Program Files\borland\bcc55」 にインストールしたなら、そこと同じパスを指定します。

 インストールが完了したら、BCC Developer を起動して下さい。メニュー「ツール(T)」の「環境設定(O)...」を選択します。環境設定で、デバッカ(ここではデバッカと表記されている。)のところに Bin フォルダの中の TD32.EXE を選択して下さい。
 上の例では、パスは、「C:\Program Files\borland\bcc55\Bin\TD32.EXE」 になります。「設定」ボタンを押し、設定を完了します。
 


 それでは、前回のコードでデバッグしてみましょう。

サンプルコード

#include	<stdio.h>

void main(void)
{
	int	i;

	for(i = 0; ; i++)
	{
		if(i % 2 == 0)	// i を 2 で割った余りが 0 なら
		{
			printf("i = %d もーいいかい?\n", i);
			continue;	// for 文の中で、この後の処理を飛ばす
		}

		if(i % 7 == 0)	// i を 7 で割った余りが 0 なら
		{
			printf("i = %d もーいいよ!!\n", i);
			break;	// for 文から抜ける
		}

		printf("i = %d まぁだだよ!\n", i);
	}
}


◆Micorsoft Visual C++ 6.0 では
 まずはビルドを完了させます。メニュー「ビルド(B)」から、「デバッグの開始(D)」の「ステップ イン(I)」(F11)を選択します。この場合、ショートカットのF11を押した方が早いでしょう。そうすると、デバッガが立ち上がります。
 そして、メニュー「デバッグ(D)」から、「ステップ オーバー(O)」(F10)を押していくと、現在どの行が実行されようとしているかが分かります。画面の下のシンボル名のところには、変数 i の値等が表示されます。また、変数 i の上にカーソルを持っていくことによって、変数の値を知ることも出来ます。
 デバッグを終了するには、メニュー「デバッグ(D)」から、「デバッグの中止(D)」(Shift+F5) を選択します。

 上記の方法では、プログラムの最初からデバッグしていきました。プログラムの途中まで実行させて、そこからデバッグしたいときもあるでしょう。その場合には、ブレークポイントを設定します。
 まず、止めたい行にカーソルを合わせます。ツールバーの「ブレークポイントの挿入/削除 (F9)」を探してそれを押します。左にマークが付くと思います。そして、「実行(F5)」ボタンを押すと、その行まで進んで止まる筈です。
 後は、「ステップ オーバー(O)」(F10)を押していくか、再度「実行(F5)」を押すかしてデバッグしていきます。

 その他にも、たくさん機能が付いていますので、色々試すと良いでしょう。
 


 

◆BCC Developer では
 まずはメイクを完了させます。ツールバーから「デバッグ(F8)」を探して押します。そうすると、デバッガが立ち上がります。
 そして、メニュー「Run」から、「Step over」(F8)を押していくと、現在どの行が実行されようとしているかが分かります。
 また、変数の内容を表示させるには、メニュー「Data」から、「Add watch」(Ctrl-F7)を選択します。例えば、ここで i と入力して「OK」ボタンを押します。すると、Watches のウィンドウに、変数 i の内容が表示されます。Watches のウィンドウは画面の一番下にありますので、ドラッグして見易い位置まで持ってくると良いでしょう。
 デバッグを終了するには、メニュー「File」から、「Quit」(Alt-X) を選択します。

 上記の方法では、プログラムの最初からデバッグしていきました。プログラムの途中まで実行させて、そこからデバッグしたいときもあるでしょう。その場合には、ブレークポイントを設定します。
 デバッガを立ち上げてから、止めたい行にカーソルを合わせます。メニュー「Breakpoints」から、「Toggle」(F2)を押します。すると、その行の色が変わります。そして、メニュー「Run」から、「Run」(F9)を押すと、その行まで進んで止まる筈です。
 後は、「Step over」(F8)を押していくか、再度「Run」(F9)を押すかしてデバッグしていきます。

 デバッガのメニューが英語なので、若干使いにくい部分はあるかも知れませんが、色々試してみましょう。
 


 どうだったでしょうか。デバッガを利用することによって、バグ修正を効率良く行えるようになると思いますので、大いに活用しましょう。


 実行ファイルを作成するのに、Debug モードRelease モードがあります。Debug モードでは、デバッガを立ち上げてデバッグを行えます。Release モードでは、デバッグは行えませんが、Debug モードより実行ファイルのサイズが小さくなり高速に動作します。開発中は、Debug モードで十分テストし、配布するときには、Release モードでビルド(メイク)した実行ファイルを配るといった具合です。


 Debug と Release の切り替え方法

◆Micorsoft Visual C++ 6.0 では
 メニュー「ビルド(B)」から、「アクティブな構成の設定(O)...」で切り替えられます。

◆BCC Developer では
 ツールバー「プロジェクト設定(Shift+Ctrl+F11)」から、「現在のプロジェクト構成」で切り替えられます。

【スポンサード リンク】


Back Next

0からのゲームプログラミング > デバッグ