4D v16.3

コマンドのキャッチ

ホーム

 
4D v16.3
コマンドのキャッチ

コマンドのキャッチ  


 

 

キャッチコマンドリストは、4Dのコマンド呼び出しを捕捉し、デバッガウィンドウを表示するよう指示することが出来るランタイムエクスプローラのページです。

キャッチコマンドは、実行中の全てのプロセスで直ちに効果を発揮し、以降の指定したコマンド呼び出しが行われるとトレース(デバッガウィンドウを表示)に入ります。
ブレークポイントと異なり、特定のメソッドに限らず、全ての全てのプロセス、メソッドが対象となります。

キャッチコマンド(コマンド捕捉)は、任意の場所にブレークポイントを設定することなく、大きな範囲でトレースを行える便利な方法です。例えば、いくつかのプロセスを実行した後に、削除すべきでないレコードが削除されてしまった場合には、DELETE RECORDDELETE SELECTIONといったコマンドの処理をキャッチ(捕捉)することにより、調査の範囲を狭めることができます。調査対象のコマンドが呼び出されるたびに、デバッガが起動されるので、問題のレコードが削除されてよいかどうかを調べ、コードの誤った箇所を突き止めることができます。

少し経験を積めば、ブレークポイントとコマンドの中断とを組み合わせて使用できるようになります。

キャッチコマンドページを開くには:

  1. 実行メニューからランタイムエクスプローラを選択する。

    ランタイムエクスプローラは、フローティングパレットとして表示することができます。この場合、フローティングパレットにすると、常に前面に表示されます。これを行うにはShiftキーを押しながら、実行メニューからランタイムエクスプローラを選択します。詳細はDesign Referenceマニュアルを参照してください。



    ランタイムエクスプローラウィンドウが表示されます。
  2. キャッチボタンをクリックすると、コマンドキャッチリストが表示されます:



    このページは実行中にトレースに入るコマンドをリスト表示します。2つの欄から構成されています。
  • 左の欄には、キャッチするコマンドの有効/無効状況と、コマンド名が表示されます。
  • 右の欄には、コマンドに関連する条件(ある場合)が表示されます。

新しくコマンドを追加するには:

1. リスト下部にある新しいコマンドを追加ボタン(+)をクリックします。ALERTコマンドをデフォルトとして新しいエントリが追加されます。

次にALERTラベルをクリックし、キャッチしたいコマンドの名前を入力します。入力したら、EnterまたはReturnキーを押して選択を確定させます。

キャッチコマンドの名前を編集するには:

  1. 項目をクリック、または矢印キーを使用してリストを移動する(現在選択しているコマンド名が編集モードになっていない場合)。
  2. 編集モードと選択モードとを切り替えるには、EnterキーまたはReturnキーを押す。
  3. コマンド名を入力または修正する。
  4. 変更を有効にするには、EnterキーまたはReturnキーを押す。

キャッチコマンドを無効、あるいは有効にするには:

  1. コマンドラベルの前にあるブレット(*)をクリックします。
    これによりブレークポイントの有効/無効を切り替える事ができます。ブレットの色の意味は以下の通りです:
    • 赤 = 有効化
    • オレンジ = 無効化

注: キャッチしたコマンドを無効化する事は、削除するのとほぼ同等の効果があります。実行中、デバッガはほぼ全くと言っていいほどエントリーに時間を使いません。エントリーを無効化することの利点は、それが再び必要になったとき一から作り直さなくて良いという点です。

キャッチコマンドを削除するには:

  1. 項目をクリック、または矢印キーを使用してリストを移動する(現在選択しているコマンド名が編集モードになっていない場合)。
  2. BackspaceまたはDeleteキーを押すか、リスト下部にあるDeleteボタンをクリックします。
  3. キャッチコマンドを全て削除するには、すべて削除ボタンをクリックします。

キャッチコマンドに条件を設定するには:

  1. エントリの右の欄をクリックする。
    すると入力カーソルが表示されます。
  2. ブール値を返す4Dフォーミュラ(式、またはコマンド呼び出しやプロジェクトメソッド)を入力する。

: 条件を削除するにはフォーミュラを削除します。

条件を設定する事により、条件が満たされていた場合、コマンドの呼び出されたときに実行を中止する事ができます。例えば、DELETE SELECTIONコマンドのブレークポイントに"Records in selection([Emp]>10)"という条件を設定した場合、[Emp]テーブルのカレントセレクションに9レコード以下(あるいは未満)であったときにはDELETE SELECTIONコマンドの実行時にコードは停止されません。

キャッチしたコマンドに条件を追加していくほど実行速度は遅くなって行きます。これは例外が起こるたびにそれぞれの条件が評価されなければならないからです。その一方で、条件を追加するとデバッグプロセスは早くなります。条件に合致しないオカレンスを、4Dは自動的にスキップしていくからです。



参照 

デバッガ
ブレークポイント
ブレークリスト

 
プロパティ 

プロダクト: 4D
テーマ: デバッグ

 
履歴 

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)