trace

trace コマンドでは、特定のオブジェクト (クラス、インスタンス、またはキーワード) に対してトレースするサブジェクトを指定できます。サブジェクトには、存在、属性、メソッド、およびイベントがあります。すべてのオブジェクトを 1 つのサブジェクトでトレースするか、1 つのオブジェクトをすべてのサブジェクトでトレースするか、またはその間のすべてを選ぶことができます。

デフォルトでは、トレーサーは以下のコマンドを実行するのと同じように、すべてのクラスとインスタンスをトレースし、システム項目 (コール・スタックはイベント・キューなど) はトレースしません。

   trace #all all

アニメーションでは、以下のコマンドを実行するのと同じように、デフォルトではどの項目もトレースしません。

   trace object nothing

構文

trace <object> <interest-list>

引数

object

トレースするオブジェクトを指定します。以下のいずれかの項目にすることができます。

表 1. trace コマンドで可能なサブジェクト
existence constructors
relations destructors
attributes timeouts
states parameters
controls subclasses
methods threads
events  

キーワードは all はこれらのサブジェクトすべてを示し、nothing はどれも示しません。

サブジェクトの前にプラス (+) かマイナス (-) 記号を指定して、現在の関心リストにサブジェクトを追加または削除します。「+」も「-」もない場合、入力されたサブジェクトが現在の関心リストになり、以前選択したサブジェクトを置き換えます。

サブジェクト existence はオブジェクトの存在をレポートします。

サブジェクト subclasses は、トレース・コマンドを、クラスのすべてのサブクラスに適用します。 これはクラス・オブジェクトにのみ当てはまります。

コマンドの意味

オブジェクトの名前に続けて指定するサブジェクトで、特定のオブジェクトの関心リストを設定または変更します。

例 1

以下のコマンドは、B[5] の関心リストを関係に設定します。

trace B[5] relations

トレーサーは、これでオブジェクト B[5] の関係が変更されるたびにメッセージを表示します。例:

   OMTracer B[5] item A[7] added to relation itsA

B[5] については、関係に関するメッセージのみが表示されます。

例 2

以下の trace コマンドは B[5]: の関心リストに関係を追加します。

trace B[5] +relations 

B[5] に関する他のメッセージが表示されるかどうかは、サブジェクトの追加コマンドを実行する前の関心リストの値によって決まります。

例 3

以下の trace コマンドは、B[5] の関心リストから関心を削除します。

trace B[5] -relations 

このコマンドの結果、オブジェクト B[5] の関係に関するメッセージは何も表示されません。B[5] に関する他のメッセージが表示されるかどうかは、コマンドを実行する前の関心リストの値によって決まります。

サブジェクトごとのメッセージの全リストについては、トレーサー・メッセージを参照してください。

例 4

関心リスト内のすべてのサブジェクトに「+」か「-」記号が付いている場合、オブジェクトの関心リストが変更されています。例えば、以下のコマンドは、B[5] の関心リストにサブジェクト関係を追加し、サブジェクト状態を削除します。

trace B[5] +relations, -states

これに対して、以下のコマンドは B[5] の関心リストが正確にサブジェクトの関係と状態を含むよう設定します。

trace B[5] relations, states

特殊な取り扱い

trace コマンドを使用するときは、以下の特殊な取り扱いに注意してください。


フィードバック