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

executableUnit プローブ・フラグメントを使用することで、プローブのターゲットおよびフィルター指定と一致し、ソース・コード情報が使用可能なメソッドに対し、きめ細かいデータ収集を実行できます。

このタイプのフラグメントの呼び出しは、ターゲット・メソッド内の各「実行可能単位」の前に挿入されます。 プローブのターゲットおよびフィルター指定と一致するが、ソース・コード情報のないメソッドの場合、フラグメントはメソッドの開始時に一度挿入されます。

executableUnit フラグメントは、returnedObjectexceptionObjectisFinally、および thisObject 以外のすべてのデータ項目タイプを使用することができます。 もっとも重要なのは、これから実行しようとする実行可能単位の番号を含む executableUnitNumber データ項目を使用できることです。

メソッド内および行テーブル内の実行可能単位の数には、Probekit によってそのメソッドに挿入された実行可能単位は含まれません。

実行可能単位および基本ブロック

実行可能単位は、各基本ブロックの始まりで、前のバイト・コードとソース行番号が異なる各バイト・コードから始まります。 基本ブロックとは、分岐して実行することのできないバイト・コード命令の領域です。 基本ブロック内の最初の命令が実行されるときに、すべての命令が実行されるので、複数の命令が単一のグループと見なされます。

基本ブロックは、branchcallthrowreturn 命令によって終了します。

命令の中には、例外をスローできるという事実にも関わらず、「divide」のように実行可能単位の終わりとは見なされないものもあります。 これは、実行可能単位が技術的に基本ブロックと同じではないことを示す、もう 1 つの例です。

Java メソッドが関連のソース情報を持っていない場合、メソッド全体で、実行可能単位を 1 つだけ持っていると見なされます。

親トピック: Probekit 参照

関連参照
フラグメント・プローブ・オブジェクト
データ・プローブ・オブジェクト

関連情報
ExecutableUnit の例

Copyright IBM Corporation and others 2000, 2004.