VectorScriptのデバッグ1(debug1)アラートダイアログ

プログラムを記述して、コンパイルエラーがなければ実行する。しかし思ったような結果にならないことはよくある。そんなときに有効なデバッグテクニックを紹介する。

アラートダイアログを使う方法

実行中のコードにアラートダイアログを表示するコマンドを挿入しておいて、実行時に注目している変数がどのような値になっているかを調べる。

次のコードをスクリプトパレットに登録し、図形を選択してから実行する。

procedure debug_test;
var
	h: handle;
	myType: integer;
	
begin
	h:=FSActLayer;
	myType:=GetTypeN( h );
	
	alrtDialog( concat( 'debug_test: type=', Num2StrF(myType)));

end;
RUN ( debug_test );

文字列図形を選択して実行してみた結果は次の図

アラートダイアログによって変数の中身をみるためには、次のようなコマンドを知っていると便利。

  • AlrtDialog ダイアログ表示
  • concat 文字列連結。一度に2つの文字列を連結、3つ連結したかったら、2行にわけて記述。
  • Num2StrF 数値を文字に変換する
  • ” シングルクオーツ:Pascal言語では文字列はシングルクオーツで囲む

アラートダイアログによるデバッグはコード挿入が簡単だが、プログラムがいちいち止まってしまうという欠点がある。ループの中で使うと[OK]ボタンをクリックして繰り返しダイアログを閉じていかなくてはならない。抜けるにはoption+command+escキーでVectorWroksを強制終了する。

続いて、デバッグ2(debug2)ログファイルへの出力を紹介する。