プラットフォームは、完全なデバッグを行うことなく実行時のプラグインの活動を追跡するためのメカニズムを提供しています。 これにより、トレース・フラグを使用して、 トレース情報を標準出力 (または「コンソール (Console)」ビュー) に出力することができます。 これらのフラグは、".options" という名前のファイルに定義されています。その構文は以下のとおりです。
<plug-in Id>/debug = true/false (master switch)
<plug-in Id>/<tracing flag> = <value>
最初の項目は、プラグインをトレースするためのマスター・スイッチを表します。 プラグイン・クラスの isDebugging メソッドを呼び出すと、このメソッドは、 このトレース変数の値が true の場合には true を戻します。 その他のトレース・フラグは独自に定義し、その値は、以下を使用して取得することができます。
Platform.getDebugOption(optionName)";
プラットフォームのプラグインの大部分は、トレース・フラグ、特にプラットフォーム・コアを定義しています。 プラグインの開発がはじめての開発者にとって最も興味を引き付けられるトレース・フラグのセットは、 クラス・ロードに関連するトレース・フラグ・セットです。 このセットを使用すると、プラグインのロード問題をトレースすることができるからです。
トレースのための .options ファイルを編集せずにトレースをサポートするために、 PDE は「ランタイム・トレース (Runtime Tracing)」設定ページを提供しています。 この設定ページでは、ロードに関連するトレース・フラグと名前フィルターを設定することができます。
ランタイム・クラスのロード・トレースは、 ほとんどのプラグイン開発者にとって、一般的であり、有益なため、特によく使用されます。 また、PDE は、他のトレース・フラグをコントロールするための汎用のダイアログを提供しています。 「拡張トレース (Advanced Tracing)」設定ページには、トレースをサポートしているすべてのプラグインが表示されます。 プラグインを選択すると、それがサポートしているトレース・オプションがプロパティー・シートに表示されます。 ワークスペースと外部のプラグインに対しては、これらのトレース・オプションの値を変更することができます。
開発中のプラグインにトレースのサポートを追加すると、 これらのトレースの値がこのページに表示されるようになります。
PDE は、「トレース付きのランタイム・ワークベンチ」と呼ばれる、 「ランタイム・ワークベンチ」のバリアントを提供しています。 このランチャーは、「設定 (Preferences)」のトレースの設定値に基づいて、 統合された .options ファイルを作成し、それをランタイム・プラットフォームのインスタンスに渡します。 トレース出力はすべて、「コンソール (Console)」ビューに表示されます。
プラグインのトレース・フラグを他の開発者がコントロールできるようにするには、これらのオプションを公開する必要があります。 これを行うには、通常、そのプラグインに .options ファイルを挿入します。 このファイルには、サポートされているすべてのフラグとそのデフォルト値がリストされています。 PDE は即時にこのファイルを検出し、 それを「拡張トレース (Advanced Tracing)」設定ページの「ワークスペースのプラグイン (Workspace Plug-ins)」のリストに 組み込みます。
次に、いくつかのトレース・フラグを持つ、テンプレートの .options ファイルを、この新規のプラグインに定義します。
先に作成した com.example.xyz プロジェクトを選択し、新規ファイル .options を作成します。 デフォルトのテキスト・エディターが開いた後、以下の項目を追加します。
com.example.xyz/debug = true
com.example.xyz/debug/flag = true
com.example.xyz/debug/filter = *
このファイルを保管し、「設定 (Preferences)」->「拡張トレース (Advanced Tracing)」ページを開きます。 「ワークスペースのプラグイン (Workspace Plug-ins)」の下に、このプラグインが表示されています。 それを選択すると、新規に定義されたフラグとそのデフォルト値が表示されます。
.options ファイルを作成しても、それによって定義されるのは可用性フラグだけですが、 これにより、他のプラグイン開発者は、トレース・プロパティーの値を定義することができます。 ただし、独自に作成したプラグインのコード内のトレース・プロパティーの値は、 Platform.getDebugOption() を使用して検査する必要があります。