このドキュメントでは、次のトピックについて説明します。
プログラムには、デバッグ目的で以下の 2 種類のエントリを定義できます。
ブレイクポイント
ブレイクポイントとは、Natural オブジェクトの実行中に制御がユーザーに返されるポイントです。
1 つのステートメントが複数行にわたる場合は、ブレイクポイントは先頭行以外には設定できません。
ブレイクポイントを誤って非実行可能行(コメント行など)に設定しようとすると、ブレイクポイントは自動的に次の実行可能行に移動されます。
ウォッチポイント
ウォッチポイントを使用すると、エラーを含むオブジェクトによる Natural 変数の予期しない変更を迅速に検出できます。
デフォルトでは、ウォッチポイントを使用して、変数の内容が変更されたときに Natural オブジェクトの実行を中断するようデバッガに指示します。 ただし、ウォッチポイントの設定時にウォッチポイント演算子を使用して変数に特定の値を指定すると、条件が設定され、その条件が真の場合のみウォッチポイントが有効になります。
変数が変更されたと見なされるのは、変数の現在の値が、前回ウォッチポイントがトリガされたときに記録された値または初期値と異なる場合です。
各ブレイクポイントまたはウォッチポイントは、ブレイクポイントとウォッチポイントウィンドウの該当するタブに表示されます。 ブレイクポイントについては、各ブレイクポイントが定義されている行番号が表示されます。 ウォッチポイントについては、属している変数名に対応する名前が割り当てられ、ブレイク条件が表示されます。
タブの先頭列のチェックボックスを使用すると、ブレイクポイントまたはウォッチポイントの有効と無効をデバッグのセッション中にいつでも切り替えることができます。 「ブレイクポイントとウォッチポイントの一時的な無効化」を参照してください。
どのブレイクポイントまたはウォッチポイントにもヒットカウントがあり、デバッグエントリが通過するたびにカウントが増えます。 ただし、デバッグエントリの実行回数は、以下の方法で制限できます。
ブレイクポイントまたはウォッチポイントが実行される前のスキップ回数を指定できます。 その後、イベントカウントが指定されているスキップの数より多くなるまで、デバッグエントリは無視されます。
実行回数の上限を指定して、イベントカウントが指定の実行回数を上回ったら直ちにブレイクポイントまたはウォッチポイントが無視されるようにすることができます。
ブレイクポイントまたはウォッチポイントがヒットした場所が、現在アクティブな別のオブジェクト内部だった場合は、新しいエディタウィンドウが開き、この新しいオブジェクトのソースが表示されます。
ブレイクポイントは、ブレイクポイントとウォッチポイントウィンドウの[ブレイクポイント]タブで現在のカーソル位置に追加できます。 また、現在のカーソル位置にすでに設定されているブレイクポイントを、[ブレイクポイント]タブで削除できます。
この場合は、ダイアログボックスは表示されません。 ブレイクポイントの変更方法については(ブレイク回数の上限を定義するなど)、「ブレイクポイントの変更」を参照してください。
「ブレイクポイントとウォッチポイントの削除」も参照してください。
注意:
ローカル環境でもリモート環境(SPoD)でも、デバッガがアクティブでないときに、以下の手順でブレイクポイントを設定または削除できます。 エディタで定義された各ブレイクポイントは、デバッガが開始されたときに検証されます。 許可されない位置に定義されたブレイクポイントは、次にブレイクポイントを定義できる行に移動されます。
『Natural スタジオの使用』ドキュメントの「デバッガウィンドウ」も参照してください。
ブレイクポイントを切り替えるには
ブレイクポイントを設定または削除する行を選択します。
エディタでコンテキストメニューを表示し、
を選択します。または:
F9 キーを押します。
または:
[デバッグ]ツールバーが表示されたら、次のツールバーボタンを選択します。
または:
エディタウィンドウの左マージン(ブレイクポイントの記号が表示される場所)で、目的の行の横の位置をクリックします。
ブレイクポイントが設定されると、エディタウィンドウの左側マージンに記号が表示されます。 「エディタウィンドウで使用する記号」を参照してください。 ブレイクポイントのエントリは、ブレイクポイントとウォッチポイントウィンドウの[ブレイクポイント]タブにも表示されます。
ブレイクポイントが削除されると、対応する記号も表示されなくなります。 ブレイクポイントのエントリが、ブレイクポイントとウォッチポイントウィンドウの[ブレイクポイント]タブから削除されます。
ブレイクポイントとウォッチポイントウィンドウに現在表示されている各ブレイクポイントを変更できます。
ブレイクポイントを変更するには
目的のブレイクポイントを選択し、コンテキストメニューを表示し、
を選択します。次のダイアログボックスが表示されます。
必要なオプションを設定します。
プログラムが所定の回数実行されるまでブレイクポイントが実行されないようにする場合の、ブレイクポイント実行前のスキップ回数です。 デフォルトは 0 です。
ブレイクポイントの実行回数の上限です。 この回数に達すると、その後ブレイクポイントは無視されます。 デフォルトは 0 です。
このコマンドボタンを選択すると、現在のヒットカウントは 0 にリセットされます。
ボタンを選択します。
ウォッチポイントは、ブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブに表示されます。
ウォッチポイントの追加方法はいくつかあります。
エディタウィンドウの現在のカーソル位置にある変数をブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブに追加できます。 この場合はダイアログは表示されません。
変数をウォッチポイントとして定義するには
変数名内にカーソルを置いて、エディタで変数を選択します。
コンテキストメニューを表示し、
を選択します。または:
Ctrl + Shift + W キーを押します。
または:
エディタで変数を選択します。 マウスを使用して、選択した変数をドラッグし、[ウォッチポイント]タブにドロップします。
変数ウィンドウの変数をブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブに追加できます。 この場合はダイアログは表示されません。
変数をウォッチポイントとして定義するには
変数ウィンドウで必要な変数を選択します。
コンテキストメニューを表示し、
を選択します。または:
Ctrl + Shift + W キーを押します。
ダイアログボックスを使用して、ブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブにウォッチポイントを追加できます。
ウォッチポイントを追加するには
メニューで を選択します。
または:
ブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブで、コンテキストメニューを表示し、 を選択します。 他に選択されているエントリがないことを確認してください。 他にも選択されていると、コンテキストメニューにこのコマンドが表示されません。
[ウォッチポイントの追加]ダイアログボックスが開きます。 タイトルバーに、現在のプログラムやライブラリの名前、および現在の FUSER
のデータベース ID とファイル番号が表示されます。
必要なオプションを設定します。
デバッグ中のプログラムで監視する変数です。
ウォッチポイントの条件を定義するには、適切なウォッチポイント演算子を選択し、その演算子に対して値を指定します。 条件を指定しない場合は、デフォルト設定("変更")が適用されます。
ウォッチポイント演算子は以下のとおりです。
演算子 | ウォッチポイントが有効になる条件 |
---|---|
変更 | 変数が変更されるたび。 デフォルトです。 |
EQ(=) | 変数の現在値が指定値と等しい場合のみ。 |
NE(!=) | 変数の現在値が指定値と等しくない場合のみ。 |
GT(>) | 変数の現在値が指定値より大きい場合のみ。 |
LT(<) | 変数の現在値が指定値より小さい場合のみ。 |
GE(>=) | 変数の現在値が指定値以上の場合のみ。 |
LE(<=) | 変数の現在値が指定値以下の場合のみ。 |
プログラムが所定の回数実行されるまでウォッチポイントが実行されないようにする場合の、ウォッチポイント実行前のスキップ回数です。 デフォルトは 0 です。
ウォッチポイントの実行回数の上限です。 この回数に達すると、その後ウォッチポイントは無視されます。 デフォルトは 0 です。
ボタンを選択します。
選択した変数の名前が、ブレイクポイントとウォッチポイントウィンドウの[ウォッチポイント]タブに表示されます。
ブレイクポイントとウォッチポイントウィンドウに表示されている各ウォッチポイントを変更できます。
ウォッチポイントを変更するには
目的のウォッチポイントを選択し、コンテキストメニューを表示し、
を選択します。[ウォッチポイントの変更]ダイアログボックスが開きます。
このダイアログボックスには、[ウォッチポイントの追加]ダイアログボックスと同じオプションがあります。 このダイアログボックスで指定できるオプションの詳細については、「ダイアログボックスを使用したウォッチポイントの追加」を参照してください。
このダイアログボックスには、[ヒットカウントのリセット]ボタンもあります。 このコマンドボタンを選択すると、現在のヒットカウントは 0 にリセットされます。
必要な変更を行い、
ボタンをクリックします。定義されているブレイクポイントまたはウォッチポイントを個別に一時的に無効にできます。
ブレイクポイントまたはウォッチポイントを無効にするには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
目的のエントリについて、タブの先頭列を選択してチェックマークをはずします。
または:
コンテキストメニューを表示し、 を選択します。
ブレイクポイントを無効にすると、エディタウィンドウの左マージンに表示されている記号が変わります。 「エディタウィンドウで使用する記号」を参照してください。
無効になっているブレイクポイントまたはウォッチポイントを有効にするには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
目的のエントリについて、タブの先頭列を選択してチェックマークを再び付けます。
または:
コンテキストメニューを表示し、 を選択します。
ブレイクポイントを有効にすると、エディタウィンドウの左マージンに表示されている記号が変わります。 「エディタウィンドウで使用する記号」を参照してください。
すべてのブレイクポイントまたはウォッチポイントを無効または有効にするには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
選択されているエントリがないことを確認し(選択されていると、コンテキストメニューに該当のコマンドが表示されません)、コンテキストメニューを表示し、
または を選択します。すべてのブレイクポイントを無効または有効にすると、エディタウィンドウの左マージンに表示されている記号が変わります。 「エディタウィンドウで使用する記号」を参照してください。
ブレイクポイントとウォッチポイントウィンドウに表示されている定義済みブレイクポイントまたはウォッチポイントそれぞれについて(有効かどうかに関係なく)、このブレイクポイントまたはウォッチポイントが定義されているソースに移動できます。
ブレイクポイントまたはウォッチポイントが定義されているソースに移動するには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
目的のエントリを選択し、コンテキストメニューを表示し、
を選択します。または:
目的のエントリをダブルクリックします。
ブレイクポイントの場合は、ブレイクポイントが定義されているソースコード行の横にトレース位置が示されます。
ウォッチポイントの場合は、ウォッチポイントが定義されているソースコード全体が表示されます。
選択したブレイクポイントまたはウォッチポイントを削除したり、すべてのブレイクポイントまたはウォッチポイントを削除したりすることができます。
「ブレイクポイントの追加と削除」も参照してください。
ブレイクポイントまたはウォッチポイントを削除するには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
必要なエントリを選択します。
コンテキストメニューを表示し、
を選択します。または:
Delete キーを押します。
すべてのブレイクポイントまたはウォッチポイントを削除するには
[ブレイクポイントとウォッチポイント]ウィンドウで必要なタブを選択します。
選択されているエントリがないことを確認し(選択されていると、コンテキストメニューに該当のコマンドが表示されません)、コンテキストメニューを表示し、
を選択します。エディタウィンドウの左マージンには、以下の記号が表示されます。
この行には有効なブレイクポイントが含まれています。 | |
この行には無効化されたブレイクポイントが含まれています。 | |
この行には有効なブレイクポイントが含まれています。 トレース位置も含まれています。 | |
この行には無効化されたブレイクポイントが含まれています。 トレース位置も含まれています。 | |
この行には、まだ検証されていない(つまり、マークされた行にデバッガがまだ達していない)ブレイクポイントが含まれています。 状態は、有効(赤い背景)または無効(白い背景)として表示できます。 | |
この行には無効なブレイクポイントが含まれています(ブレイクポイントが END ステートメントより後ろの行に設定されているなど)。 状態は、有効(赤い背景)または無効(白い背景)として表示できます。
|