演習 1.2: 最初のプローブの作成

この演習を開始する前に、『演習 1.1: 必要なリソースのインポート』を 完了する必要があります。

これから作成するプローブは、プログラム内のメソッドが開始されるたびに報告を行います。

プローブを作成するには、次の 3 つのメインタスクを実行します。

  1. 空の Probekit ソース・ファイルを作成する
  2. Probekit ソース・ファイルの内容を作成する
  3. プローブをチェックする

空の Probekit ソース・ファイルの作成

ここでは、Probekit ソース・ファイルを別個のプロジェクト内に作成します。 (プローブをアプリケーションと同じプロジェクト内に作成することもできますが、プローブをビルドする ためには、そのプロジェクトを Probekit プロジェクトに変換する必要があります。)

  1. プローブを保持するための新しい Java プロジェクトを作成する。
    1. Software Development Platform のメニュー・バーから、「ファイル」>「新規」 >「プロジェクト」をクリックする。「新規プロジェクト」ダイアログ・ボックスが開きます。
    2. Java」エントリーを展開して「Java プロジェクト」を選択し、「次へ」をクリックする。「新規 Java プロジェクト 」ダイアログ・ボックスが開きます。
    3. 「プロジェクト名」フィールドに「RandomNumbersProbe」と入力して、「終了」を クリックする。 「RandomNumbersProbe」のエントリーがパッケージ・エクスプローラー・ビューに追加されます。
  2. プロジェクトを Probekit プロジェクトに変換する。
    1. パッケージ・エクスプローラー・ビューで、前のステップで作成した「RandomNumbersProbe 」プロジェクトを右クリックして、「新規」>「その他」をクリックする。「新規」ダイアログ・ボックスが開きます。
    2. すべてのウィザードを表示」チェック・ボックスを選択して、「プロファイルおよびロギング 」エントリーを展開する。
    3. Java プロジェクトを Probekit プロジェクトに変換 (Convert Java Projects to Probekit Projects)」を選択して、「次へ」をクリックする。
    4. 「使用可能化の確認」ダイアログ・ボックスが開いた場合 は、「常に機能を使用可能にし、今後このメッセージを表示しない」をクリックして、「OK」をクリックする。「Java プロジェクトを Probekit プロジェクトに変換 (Convert Java Projects to Probekit Projects)」ダイアログ・ボックスが開きます。
    5. RandomNumbersProbe」プロジェクトのチェック・ボックスのみが選択されていることを確 認して、「終了」をクリックする。
  3. 新しい Probekit ソース・ファイルを RandomNumbersProbe プロジェクト内に作成する。
    1. パッケージ・エクスプローラー・ビューで、「RandomNumbersProbe」を右クリックして、 「新規」>「ファイル」をクリックする。「新規ファイル」ダイアログ・ボックスが開きます。
    2. RandomNumbersProbe」を選択して親フォルダーに設定する。
    3. 「ファイル名」フィールドに「RandomNumbersProbe.probe」(.probe 拡張子が必要 ) と入力して、「終了」をクリックする。「RandomNumbersProbe.probe」のエントリーがパッケージ・エクス プローラー・ビューに追加されます。 Probekit エディターと問題ビューが開きます。

これで、空の Probekit ソース・ファイルをそれ自身のプロジェクト内に作成できました。 このファイルは Probekit プロジェクト内にあり、ワークスペースで「自動的にビルド (Build Automatically)」を有効にしているため、プローブ・コンパイラーはこのソース・ファイルのコンパイルを既に試行済みです。 問題ビューでは、空のファイルは有効な Probekit ソース・ファイルでないためにエラーが報告されます。

Probekit ソース・ファイルの内容の作成

次に、Probekit エディターを使用してプローブを作成します。

各プローブ定義には、そのプローブのロジックを定義するフラグメントが含まれています。 これから作成するプローブには、entry 型の単一の Java コード・フラグメントが含まれています。 entry フラグメントは、調査対象プログラム内の指定されたメソッドのメソッド入り口 (entry) を通過する時にトリガーされるフラグメントです。 このプローブでは、メソッドが開始されるたびに、entry フラグメントによってクラス名とメソッド名が出 力されます。

このためには、このフラグメントのソース・コードを作成する必要があると共に、このフラグメントがアクセ スできる必要のあるクラス名とメソッド名という 2 つのデータを定義する必要があります。

: Probekit は、entry フラグメント以外の型のフラグメントもサポートしています。 例えば、指定したメソッドの終了時に実行されるフラグメントや、指定したメソッドの例外処理時 に実行されるフラグメントを作成することもできます。 詳細は、ヘルプ・システムを参照してください。

ここでは、すべてのクラスとメソッドに適用されるようにプローブを作成します。 ただし、このプローブを実行するときには、System クラスを起動プロシージャーの一部としてフィルター により除外して、このプローブの範囲を狭めます。

プローブを作成するには、以下のようにします。

  1. Probekit エディターの下部で、「プローブ」タブをクリックする。(「一般」ページのエントリーはオプションです。 これらのエントリーは、記録保持用に使用できます。)
  2. プローブの追加」をクリックする。「Probe」エントリーが、エディターの左側のツリー・ペインに 追加されます。
  3. 新規作成した「Probe」エントリーを右クリックして、「新規」>「フラグメン ト」をクリックする。「Fragment」エントリーが、ツリー・ペインの「Probe」エントリーの 下に追加されます。 デフォルトでは、フラグメントは entry フラグメントとして作成されます。 (Probekit エディターの右側の編集ペインにある「フラグメント型」フィールドでは、「entry」 も選択肢として用意されています。)
  4. 「Probekit エディター」ビューのタブをダブルクリックしてエディターを拡大し、編集ペイン全体が表 示されるようにする。 (タブをもう一度ダブルクリックすると、ビューが元のサイズに戻ります。)
  5. 定義する 1 つ目のデータ項目であるクラス名を保持する変数を作成する。
    1. 編集ペインの「データ項目」の下で「追加」をクリックする。className 型のデフォルトのデータ項目が追加されます。
    2. 編集」をクリックする。
    3. 「データ項目の編集」ダイアログ・ボックスの「名前」フィールドに、「cname」を変数名として入力して、「OK」をクリックする。
  6. 2 つ目のデータ項目であるメソッド名を保持するための変数を作成する。
    1. 追加」をもう一度クリックして「編集」をクリックし、新たに追加したデータ項 目を編集する。
    2. データ型として、「methodName」をリストから選択する。
    3. 「名前」フィールドに「mname」を変数名として入力して、「OK」をクリックする。
  7. 「Java コード」領域で、次のコード行を入力する。
    System.out.println("[Enter method " + cname + "." + mname + "]");
  8. メニュー・バーから「ファイル」>「保管」をクリックする。プローブ・コンパイラーは、 自動的にプローブをそのソース・コードからコンパイルします。

プローブのチェック

プローブを保管したら、プローブ・コンパイラーは問題ビューでエラーを報告します。 問題ビューをチェックして、問題が発生していないかどうか確認してください。 エラーがある場合は、プローブ・エディターでこれらのエラーを訂正して、プローブをもう一度保管します。

問題ビューには、次の 2 種類のエラーが報告されます。

以上で終了です。最初のプローブを作成できました。

これで、『演習 1.3: プローブの適用』を開始する準備ができました。

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.