フラグメントのデータ項目は、そのフラグメントのソース・コードが参照できるデータ項目の名前およびタイプです。
データ項目の仕様はオプションです。フラグメントには、複数のデータ項目を組み込むことができます。ただし、項目のそれぞれのタイプが表示されるのは 1 度のみです。
プロパティー | 説明 |
---|---|
データ型 | 必須。使用可能なタイプを以下の表にリストします。 |
名前 | 必須。有効な Java 変数の名前を指定する必要があります。プローブ・フラグメント・ソース・コードは、この名前を使用して、示されているデータを参照します。 |
データ型 | 型 | 説明 |
---|---|---|
className | String | メソッド・プローブの場合、パッケージ名を含む内部フォーマットのプローブ済みメソッドのクラス名。Callsite プローブの場合、呼び出し先メソッドのクラス名。 例: org/eclipse/tptp/SomeClass |
methodName | String | メソッド・プローブの場合、内部フォーマットのプローブ済みメソッドのメソッド名。Callsite プローブの場合、呼び出し先メソッドのメソッド名。 コンストラクターのメソッド名は <init> であり、静的クラス・イニシャライザーのメソッド名は <clinit> です。 |
methodSig | String | メソッドの引数および戻りの型シグニチャー (内部フォーマット)。 静的イニシャライザーの場合は無効です。 例: (Ljava/lang/String;)I |
thisObject | Object | プローブ済みメソッドに渡された this オブジェクト (インスタンス・メソッド用)。 静的イニシャライザーの場合は無効です。 静的メソッド、コンストラクターに適用される entry フラグメント、および、 コンストラクターが例外をスローしたときにコンストラクターに適用される exit フラグメントについては、thisObject は null です。 |
args | Object[] | プローブ済みメソッドへの引数を表す、Object 参照の配列です。この配列の中に、メソッドへの各引数ごとに 1 つの要素が含まれます (this 引数はカウントしません)。 プリミティブ型の引数は、適切な参照タイプの一時オブジェクトに格納されます。例えば、int に対応する Integer に格納されます。メソッドに引数がない場合は、Object[] 配列のサイズはゼロです。 非静的インナー・クラスのコンストラクターには「インナー」レベルごとに 1 つの隠し引数があるため、ソース・コードにあるより多くの要素が、引数配列に含まれていることに注意してください。 静的イニシャライザーの場合は無効です。 |
returnedObject | Object | 戻されるオブジェクトへの参照。 この型は、exit および afterCall フラグメントでのみ使用可能です。プローブ済みメソッドの戻りの型がプリミティブ型である場合、戻される値は、適切な参照タイプの一時オブジェクトにバインドされます。メソッドが void (値を戻さない) か、または例外によって終了する場合は、returnedObject は null です。 |
exceptionObject | Throwable | スローされた例外オブジェクトへの参照。 このタイプは、catch および exit フラグメントに対してのみ使用可能です。メソッドが正常に終了した場合は、exceptionObject は null になります。 |
isFinally | boolean | フラグメントが finally 文節から呼び出されたのか (true)、あるいは catch 文節から呼び出されたのか (false) を示すフラグ。 catch フラグメントでのみ有効です。 |
staticField | (各種) | 静的フィールドによって参照されるオブジェクト。このタイプは、staticField オブジェクトで宣言されたものと同じタイプです。これは、プローブが staticField を宣言している場合にのみ有効です。 (『staticField および staticInitializer プローブの例』。) 呼び出し側プローブでは無効です。 |
classSourceFile | String | クラス・ファイルのデバッグ属性から使用可能な、ソース・ファイル名情報です。ソース情報がない場合は、classSourceFile は null です。 Java の場合、この値は一般的に、パス情報のないファイル名のみになります。呼び出し側プローブでは無効です。 |
methodNames | String | メソッド名とシグニチャーの、エンコードされたリスト。このリスト内のメソッドの順序は、methodLineTables 内のメソッドの順序と同じで、methodNumber データ項目によって反映される順序付けと同じです。このリストには、Probekit によってクラスに挿入されたメソッドの名前は含まれません。 methodNames ストリングは、1 つ以上のメソッド名とシグニチャーがプラス記号 (「+」) で区切られたもので構成されています。メソッド・シグニチャーは Java の内部フォーマットを使用します。例えば、デフォルト・コンストラクターと、String を受け入れて int を戻すメソッド run の 2 つのメソッドを持つクラスでは、methodNames ストリングは <init>()V+run(Ljava/lang/String;)I になります。 呼び出し側プローブでは無効です。 |
methodLineTables | String | クラス内のコードの各実行可能ユニットに対応する行番号リストの、エンコードされたもの。 このリストには、Probekit によってクラスに挿入された実行可能ユニットは含まれません。 エンコード方式の説明については、『methodLineTables データ・ストリング・フォーマット』を参照してください。 呼び出し側プローブでは無効です。 |
methodNumber | Integer | プローブ・フラグメントが挿入されたメソッドの、methodNames テーブル内の索引番号。 Callsite プローブまたは staticInitializer フラグメントでは無効です。 |
executableUnitNumber | Integer | プローブ・フラグメントが挿入された実行可能ユニットの番号。 このデータ型は、executableUnit および catch プローブ・フラグメントでのみ有効です。メソッドにソース行情報がない場合、番号 0 の実行可能ユニットを 1 つ持つものとして表されます。 |
プローブ・フラグメント・データ項目を入力するには、 ツリー・ペインで「フラグメント (Fragment)」を選択し、 「追加」および「編集」を使用して、 編集ペインにデータ項目を入力および定義します。