Home > Illustlation > グラフィックツール > Corel Draw > CorelDrawの公式マクロ文書の和訳 > CorelDRAW開発者エリアにようこそ > プログラミング・ガイド > 5-スクリプトとマクロを作成する > 5.6-スクリプトとマクロのデバッグ

5.6-スクリプトとマクロのデバッグ

新規作成日 2020-01-21
最終更新日

CorelDRAWでマクロを利用するためのドキュメント「5.6 - Debugging scripts and macros」の和訳です。


あなたのマクロが、期待どおりに実行されるようにするために、それらをデバッグすることが重要です。

JSスクリプトのデバッグ

あなたをJSスクリプトのディバッグで支援するために、あなたは、単純な通知メッセージを表示することができます。これを行うために、あなたは、関数でアラートを呼び出す必要があります。

例:

alert("done")

スクリプトに、alert( "done")を追加すると、スクリプトの実行後に、次のメッセージが表示されます。

デバッギング・ウィンドウを使用する

Using the debugging windows

VBAコードをデバッグするための4つのウィンドウを以下に示します:「スタック呼び出し」ウィンドウ、「イミディエイト」ウィンドウ、「ローカル」ウィンドウと「監視」ウィンドウ。これらのウィンドウは、すべて、アプリケーションの実行中に関数と変数の状態に関する重要な情報を提供します。

「スタック呼び出し」ウィンドウは、関数がどの関数を呼び出すかを一覧にするモーダル・ダイアログ・ボックスです。長く複雑なアプリケーションでは、この情報は、呼び出される特定の関数のステップをたどるために役に立ちます。ウィンドウで一覧にされている関数にアクセスするために、関数の名前を選択します。続いて、「表示」をクリックするか、ウィンドウを閉じます。

「スタック呼び出し」ウィンドウを表示するために、表示 > スタックを呼び出すをクリックします。

「スタック呼び出し」ウィンドウ:

「イミディエイト」ウィンドウは、あなたが、マクロが一時停止しているときに任意のコード行を入力し実行できます。この機能は、文書内のオブジェクトのプロパティを取得、あるいは、設定する場合、あるいは、コード内の変数の値を設定する場合に役立ちます。コードの一部を実行するために、それを、「イミディエイト」ウィンドウに入力し、続いて、Enterを押します;コードは、ただちに、実行されます。

「イミディエイト」ウィンドウを表示するために、表示 > 「イミディエイト」ウィンドウをクリックします。

「イミディエイト」ウィンドウ:

「ローカル」ウィンドウは、現在の範囲に存在する、すべての変数とオブジェクトを表示します。それぞれの変数の型と値は、変数名の隣の列に一覧にされます。一部の変数とオブジェクトは、親の横にあるボタンをクリックして表示できる、複数の子を持っています。多くの変数では、クリックして値を編集できます。

「ローカル」ウィンドウを表示するために、表示>「ローカル」ウィンドウをクリックします。

[監視]ウィンドウは、特定の変数やオブジェクト・プロパティを監視するために使用されます。この機能は、「ローカル」ウィンドウのすべての値の中から値を検索するのではなく、1つや2つの値だけを監視するのに役立ちます。

「監視」ウィンドウを表示するために、表示 > 「監視」ウィンドウをクリックします。

「監視」ウィンドウ:

「監視」ウィンドウに値を追加するために、以下のいずれかを実行します。:

  • 変数とオブジェクトとそのプロパティを選択し、続いて、「監視」ウィンドウ上に選択をドラッグします。
  • 項目をクリックし、そして、デバッグ > クイック・ウォッチをクリックします。

「監視の追加」ダイアログが表示されます。:

あなたが、監視したい項目を選択し、この監視の条件を選択し、続いて、OKをクリックします。この条件が、trueになる場合、アプリケーションを一時停止して、コードを調べることができます。

ブレークポイントを設定する

Setting breakpoints

ブレークポイントは、実行を一時停止させるコード行内のマーカーです。継続するために、あなたは、実行を再開する、あるいは、続くコード行をステップ実行する必要があります。

ブレークポイントを設定する、あるいは、クリアして、行をクリックします。続いて、デバッグ > ブレークポイントを切り替えをクリックします。デフォルトでは、行は、濃い赤で強調表示されます。そして、赤い点が、マージンに配置されます。

ブレークポイントで一時停止した後、コードを再実行するために、実行を続行をクリックします。コードの実行を一時停止するために、(すべての関数を直ちに終了し、すべての戻り値を破棄します )、実行をリセットをクリックします。

あなたは、「カーソルまで実行する」こともできます。つまり、カーソルが上にある行に達するまでコードを実行します。続いて、その行で一時停止します。これを行うために、あなたが、実行を一時停止する行をクリックします。続いて、カーソルでデバッグを実行をクリックします。

すべてのブレークポイントをクリアするために、デバッグ > すべてのブレークポイントをクリアをクリックします。

行に、ブレークポイントがある場合(あるいは、「カーソルまで実行」するときのカーソル)、条件付き(if-then-else)ブロックにあるため、実行されず、コードは、その行で停止しません。

ブレークポイントは、保存されません。あなたが、Script Editorを閉じるとき、失われます。

コードをステップ実行する

Stepping through the code

実行が、ブレークポイントで一時停止するとき、あなたは、コードを1行ずつ続行できます。「コードのステップ実行」と呼ばれるこの機能は、あなたが、次のことを行うことができます。:

  • それぞれの行の後で、それぞれの変数の値を調べる
  • コードが、どのように値に影響を及ぼすか判断します
  • 値が、コードに、どのように影響を及ぼすか判断します。

コードをステップ実行するために、「ステップインのデバッグ」をクリックします。実行は、呼び出されたすべての関数とサブルーチン内のすべての行に進みます。

それぞれの呼び出された関数やサブルーチンの行ではなく、現在の関数やサブルーチンのそれぞれの行をステップ実行します。デバッグ > ステップ・オーバーをクリックします。行ごとではなく、呼び出された関数とサブルーチンが、実行されます。

一時停止するのではなく、現在の関数やサブルーチンの残りを実行するために、関数やサブルーチンが呼び出された位置に戻るとき、デバッグ > ステップ・アウトをクリックします。この手法は、関数の呼出しのコードをステップ実行し続けるために、関数のエントリ・ポイントにすばやく戻る方法です。

このエントリーをはてなブックマークに追加