プローブ・フラグメント型

定義する各フラグメントで指定が必要です。 ターゲットとなるメソッドでフラグメントが実行されるときに、型が示されます。 プローブには複数のフラグメントを含めることができますが、所定の型のフラグメントを複数含めることはできません。

以下の表で、フラグメント型をリストし、説明します。 また、その型がメソッド・プローブで使用できるのか、または呼び出しサイト・プローブで使用できるのかを示します。 (メソッド・プローブと呼び出しサイト・プローブの違いについては、 『メソッド・プローブ対呼び出しサイト・プローブ』を参照してください。
フラグメント型 メソッドまたは呼び出しサイト 説明
entry メソッド entry フラグメントは、メソッドの入り口で実行されます。 Probekit によってクラスに挿入されたメソッドについては、entry フラグメントは実行されません。
exit メソッド exit フラグメントは、メソッドの出口で実行されます。 この出口は、メソッドが例外をスローする場合、またはスローされた例外がメソッドから伝搬する場合の通常の出口です。 Probekit によってクラスに挿入されたメソッドについては、exit フラグメントは実行されません。
catch メソッド catch フラグメントは、メソッド内の catch 文節の最初、 あるいは例外の結果として実行される finally 文節の最初で実行されます。
staticInitializer メソッド staticInitializer フラグメントは、プローブされた各クラスのクラス・イニシャライザーの内部で 実行されます。 クラスに静的イニシャライザーがまだ無い場合は、作成されます。 詳しくは、『staticInitializer プローブ・フラグメント型』を参照してください。
executableUnit メソッド executableUnit フラグメントは、プローブのターゲットおよびフィルター指定と一致し、 ソース・コードが使用可能なメソッド内で、コードの各実行可能単位の前で実行されます。 メソッドにソース行情報がない場合、そのメソッドは、ゼロ番の単一の実行可能単位を持つものとして表示されます。 詳しくは、『executableUnit プローブ・フラグメント型』を参照してください。
beforeCall 呼び出しサイト beforeCall フラグメントは、ターゲット・メソッドが呼び出される直前に、メソッドの呼び出し側で実行されます。 メソッド・プローブでは無効です。
afterCall 呼び出しサイト afterCall フラグメントは、ターゲット・メソッドが終了した直後に、 メソッドの呼び出し側で実行されます。 ターゲット・メソッドの終了は、通常終了またはターゲット・メソッドが例外をスローしたときのいずれかです。 メソッド・プローブでは無効です。
注:

プローブは、メソッド内の同じロケーションに適用される複数のフラグメントを持つことができます。 例えば、entry フラグメントと最初の executableUnit のロケーションなどです。 別の例としては、catch フラグメントとそれに関連した executableUnit のロケーションが挙げられます。 これは、例外処理用の catch 文節が常に新しい実行可能単位の始まりを表すためです。 このような場合、executableUnit フラグメントのコードは、entry または catch フラグメントのコード の で実行されます。 その結果、entry フラグメントがある場合、それは常にその他の種類のフラグメントの前に実行されます。

単一プローブ内にメソッド・フラグメントと呼び出しサイト・フラグメントを混在させることはできませんが、 同じ Probekit ソース・ファイル (probe ファイル) 内に メソッド・プローブと呼び出しサイト・プローブを含めることができます。

例:

フラグメント型を指定するには、「プローブ」ページのツリー・ペインで 「フラグメント」エントリーを選択し、編集ペインの 「フラグメント型」リストから選択します。

フラグメント型の選択を強調表示する Probekit エディター

以下のプローブ・フラグメント型について、追加情報があります。
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.