簡単なデバッグの基礎

ここでは、簡単なサンプルを用いながら、Delphi の総合デバッガの使い方を簡単に見ていきます。

プログラムをデバッグする為には、コンパイル済みコードに *デバッグ情報を含めることが必要です。これは、[ プロジェクトオプション | コンパイラ ] で設定可能です。

また、Delphi VCL へのステップインを行う場合には、[ デバッグ版 DCU を使う ] にチェックを入れる事で、それが可能となります(Personal 版では、VCL ソースは付属していませんので、VCL へのステップインは出来ません)。

ブレークポイントの設置

ブレークポイントが設置されている場合、実行中のプログラムがその行に到達すると、プログラムは一時停止します。

ブレークポイントを設置するには、エディタの横の空白欄をクリックすることで、設置できます。また、ブレークポイントは、基本的にどこでも設置できますが、エディタの横に青い丸が表示される所以外に設置しても、それは有効とはなりません。

ブレークポイントが有効である行には、エディタの横に青い丸が表示されます。

ブレークポイントを設置するには、その青い丸が表示されている所をクリックします。

上記のプログラムを実行し、ボタンを押すと以下のように表示されます。エディタの横に矢印が表示され、現在どの行でプログラムが停止しているかが、一目で分かるようになっています。

この状態で、ステップ実行(F8), つまり行単位でプログラムを実行していくことや、トレース実行(F7) で、ルーチンの一つ一つの実行を確認していく事ができます(デバッグ版 DCU をチェックしている場合には VCL ソースにも)。

変数の値を覗いてみる

以下のようなサンプルプログラムを使用して、Delphi のデバッガでの値の検査や、変数の検査/変更する様子を見ていきます。

procedure TForm1.Button1Click(Sender: TObject);
var
  Area: Integer;
  myWidth, myHeight: Integer;
begin
  myWidth := 100;
  myHeight := 20;

  Area := myWidth * myHeight;

  Label1.Caption := IntToStr(Area);
end;

まず、上記のプログラムをコンパイルして Area := myWidth ** myHeight の行にブレークポイントを設置します。そして、プログラムを実行しボタンを押すと、以下のような状態でプログラムが停止します。

この状態でマウスカーソルを変数の上に移動させると、その値を実際にのぞき見る事が出来ます。

ローカル変数ウィンドウ

ローカル変数ウィンドウには、現在停止しているルーチン内でのローカル変数が自動的に表示されます。(デバッグオプションで[ 最適化 ] にチェックがある場合には、変数の一部が表示されないこともあります)

?

※Delphi6 Personal 版では、ローカル変数ウィンドウは利用できません。


up next
Last update: 2003/12/8