4D v16.3

ウォッチエリア

ホーム

 
4D v16.3
ウォッチエリア

ウォッチエリア  


 

 

ウォッチエリアは、デバッグウィンドウの左上隅の実行コントロールツールバーの下に表示されます。以下は表示例です:

ウォッチエリアには、システム、4D環境、および実行環境について役立つ一般情報が表示されます。

欄には、オブジェクトや式の名前が表示されます。欄には、オブジェクトや式に対応する現在の値が表示されます。

エリア右側にある値をクリックすると、そのオブジェクトの値を変更できる場合には、オブジェクトの値を修正できます。

複数レベルを対象とする階層リストは、メインレベルでテーマごとにまとめられています。テーマは、次の通りです:

  • ラインオブジェクト
  • 変数
  • カレントフォーム値
  • 定数
  • セマフォ
  • プロセス
  • テーブル&フィールド
  • セット
  • 命名セレクション
  • インフォメーション
  • Web

テーマによっては、各項目に1つまたは複数のサブレベルがある場合もあります。テーマ名の隣にあるリストノード(アイコン)をクリックすると、テーマが拡大、または縮小します。テーマが拡大されている場合には、そのテーマにある項目は見えています。
テーマに複数レベルの情報がある場合には、各項目の隣にあるリストノードをクリックすると、そのテーマで提供されているすべての情報を調べることができます。

どの時点でも、テーマ、テーマサブリスト(あれば)、テーマ項目をカスタムウォッチエリアにドラッグ&ドロップすることができます。

このテーマには、次のようなオブジェクトや式の値が表示されます

  • 実行されるコードの行(プログラムカウンターにより、ソースコードエリア内で黄色の矢印でマークされている行)で使用されている。
  • コードの前の行で使用されている。

コードの前の行とは実行直後の行であるため、ラインオブジェクトテーマでは、その行が実行される前または後の現在の行のオブジェクトや式が表示されます。例えば、次のメソッドを実行した場合を想定します:

 TRACE
 a:=1
 b:=a+1
 c:=a+b
  // ...

1. デバッガウィンドウでソースコードエリアのプログラムカウンターをa:=1の行にセットします。この時点ではラインオブジェクトテーマには、次のように表示されています:

a:未定義

変数 a が表示されているのは、実行の対象となっている(ただし、まだ初期化されていない)行で使用されているためです。

2. 1行先にステップすると、プログラムカウンタはb:=a+1の行に設定されます。この時点ではラインオブジェクトテーマには、次のように表示されています:

a:1
b:未定義

変数 a が表示されているのは、ちょうど実行され、数値1を割り当てられたばかりの行で使用されているためです。また、変数 a が表示されているのは、変数 b への割り当て式として実行される行でも使用されているためでもあります。変数 b が表示されているのは、実行の対象となっている(ただし、まだ初期化されていない)行で使用されているためです。

3. 再び1行先にステップすると、プログラムカウンタはc:=a+bの行に設定されます。この時点ではラインオブジェクトテーマには、次のように表示されています:

c:未定義
a:1
b:2

変数 c が表示されているのは、実行の対象となっている(ただし、まだ初期化されていない)行で使用されているためです。変数 ab が表示されているのは、1つ前の行で使用され、この行で実行されているからです。

ラインオブジェクトテーマは、とても便利なツールです。ある行が実行される度にカスタムウォッチエリアに式を入力することなく、ラインオブジェクトテーマによって表示される値を検証することができます。

変数  

このテーマは、次のサブテーマから構成されます:

  • インタープロセス変数:この時点で使用されているインタープロセス変数のリストを表示します。インタープロセス変数を使用していない場合には、このリストは空白の場合があります。インタープロセス変数の値は、変更することができます。
  • プロセス変数:カレントプロセスで使用されている変数のリストを表示します。このリストが空白であることはほとんどありません。プロセス変数の値は、修正することができます。
  • ローカル変数: 現在トレースの対象となっているメソッド(ソースコードエリアに表示されているメソッド)で使用されているローカル変数のリストを表示します。ローカル変 数を使用していない場合や、ローカル変数がまだ作成されていない場合には、このリストは空白の場合があります。ローカル変数の値は、修正することができます。
  • パラメータ(引数):メソッドが受け取ったパラメータのリストを表示します。現在トレースの対象となっているメソッド(ソースコードエリアに表示されているメソッド)にパラメータが渡されていない場合には、このリストは空白の場合があります。パラメータの値は、修正することができます。
  • セルフポインタ:オブジェクトメソッドをトレースしている場合には、現在のオブジェクトへのポインタを表示します。この値を修正することはできません。

Note: 文字列変数、テキスト変数、数値変数、日付変数、および時間変数は、修正することができます。つまり、キーボードを使用して値を入力できる変数は、修正することができます。

他の変数と同様に、配列は、その設定範囲によって、インタープロセス配列サブテーマ、プロセス配列サブテーマ、およびローカル配列サブテーマで表示 されます。デバッガは各配列に階層レベルをつけて表示します。このため、配列要素の値がある場合にはこれを取得、または変更することができます。デバッガ は要素ゼロを含む最初の100個の要素を表示します。値欄には、配列名ごとのサイズが表示されます。配列を作成した後、最初のサブ項目には、現在選択され ている要素番号、次に要素ゼロ、その次に他の要素(100個まで)が表示されます。文字列配列、テキスト配列、数値配列、および日付配列は、修正すること ができます。選択された要素番号、要素ゼロ、および他の要素(100個まで)も、修正することができます。配列のサイズを修正することはできません。

Reminder: 個別の配列要素も含め、項目はいつでもウォッチエリアからカスタムウォッチエリアへドラッグ&ドロップすることができます。

このテーマにはカレントフォーム内に含まれるそれぞれの動的なオブジェクトの名前に加えて、そこに関連付けられている値が表示されます:

リストボックス配列などの一部のオブジェクトは、二つの異なるオブジェクトとして表示されることがあります(オブジェクト自身の変数と、そのデータソース)。

このリストは、フォームでダイナミック変数を多用している場合に特に有効です:フォームオブジェクト名を通してダイナミック変数を特定するのが簡単だからです。コンテキストメニューからタイプを表示を選択することによりダイナミック変数の内部名を表示することもできます:

ダイナミック変数の名前は、"$form.4B9.42"という形式になっています:

定数  

エクスプローラウィンドウの定数ページのように、4Dが提供する定義済み定数を表示します。このテーマの表現式を修正することはできません。

データベース内にあるテーブルやフィールドを一覧表示しますが、サブフィールドは表示しません。各テーブル項 目では、値欄にカレントプロセスのカレントセクションのサイズは勿論、ロックされたレコードナンバー(テーブルアイテムは拡張される)も表示されます。各 フィールド項目では、カレントレコードがある場合には、値欄にカレントレコードのフィールドの値(ピクチャ、サブテーブル、BLOBは除く)が表示されま す。このテーマでは、フィールドの値を修正することはできますが(ただし、取り消しはできません)、テーブル情報を修正することはできません。

現在設定されているローカルセマフォを一覧表示します。各セマフォでは、値欄にセマフォを設定したプロセスの名前が表示されます。セマフォを使用していない場合、このリストは空白です。このテーマの表現式を修正することはできません。グローバルセマフォは表示されません。

カレント(現在トレースの対象となっている)プロセスで定義されているセットを一覧表示します。インタープロセスセットも一覧表示 します。各セットでは、値欄にレコードの数とテーブル名が表示されます。セットを使用していない場合には、このリストは空白の場合があります。このテーマ からの表現式を修正することはできません。

作業セッションを開始してから起動されたプロセスを一覧表示します。値欄に、それぞれのプロセスの現在の状態(実行中、一時停止等)および使用した時間が表示されます。このテーマからの表現式を修正することはできません。

カレント(現在トレースの対象となっている)プロセスで定義されているプロセス命名セレクションを一覧表示します。ま た、インタープロセス命名セレクションも一覧表示します。各命名セレクションでは、値欄にレコード数およびテーブル名が表示されます。命名セレクションを 使用していない場合には、このリストは空白の場合があります。このテーマからの表現式を修正することはできません。

このテーマはデータベースのオペレーションに関わる一般的な情報を表示します。カレントのデフォルトテーブル(あれば)、物理メモリ、仮装メモリ、空きメモリ、使用メモリ、クエリデスティネーション、などです。この情報によってデータベースの機能を検査することができます。

Web  

このテーマはアプリケーションのWebサーバーに関する情報が表示されます(ただしWebサーバーが起動している場合に限ります):

  • 送信待ちのWebファイル: 送信の待機中のWebファイルの名前(あれば)
  • Webキャッシュ使用: Webキャッシュ内のページ数と、その使用率
  • Webサーバー起動時間: 時間:分:秒 のフォーマットのWebサーバー起動時間
  • Webヒット回数: Webサーバーの起動から受信したHTTPリクエストの合計数と、1秒間あたりの受信数
  • アクティブなWebプロセス数: アクティブなWebプロセス数と、全Webプロセス数の合計

このテーマの表現式を修正することはできません。

ウォッチエリアのコンテキストメニューで追加オプションを提供します。このメニューを表示するには:

  • Windowsでは、マウスの右ボタンを使用してウォッチエリア内の任意の位置をクリックする。
  • Macintoshでは、ウォッチエリアの任意の位置でcontrol+クリックを実行する。

ウォッチエリアのコンテキストメニューが、次のように表示されます:

  • すべて縮める:ウォッチエリアの階層リストのすべてのレベルを縮小します。
  • すべて拡げる:ウォッチエリアの階層リストのすべてのレベルを拡張します。
  • タイプ表示:それぞれのオブジェクトのオブジェクトタイプを(適切な場合に)表示します。
  • フィールド&テーブル番号表示:フィールドのそれぞれのテーブルまたはフィールドの番号を表示します。テーブル番号やフィールド番号を用いて作業している場合、またはTableFieldを使用し、ポインタを用いて作業している場合、このオプションは非常に便利です。
  • アイコン表示:それぞれのオブジェクトのオブジェクトタイプを示すアイコンを表示します。表示速度を速くするために、あるいはタイプ表示オプションを使用することにして、このオプションをオフにすることもできます。
  • テーブル&フィールド並び替え:テーブルおよびフィールドをそれぞれ対応するリストの中で強制的にアルファベット順に表示します。
  • 整数を16進数で表示:通常、数字は10進法で表示されます。このオプションを使用すると、数字が16進法表記で表示されます。注:数値を16進法で入力するには、0x(ゼロの後にx)とタイプし、その後に16進数を続けます。
  • 動作状況モニタリングを有効にする: 動作のモニタリング (アプリケーション内部の詳細チェック) を有効にし、追加されたテーマ (スケジューラWebネットワーク) に取得した情報を表示します。

次の図はウォッチエリアですべてのオプションが選択された状態を示しています:



参照 

カスタムウォッチエリア
ソースコードエリア
デバッガ
デバッガのショートカット
メソッド連鎖エリア

 
プロパティ 

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

 
履歴 

 
ARTICLE USAGE

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