show コマンドにより、オブジェクトの状況を表示できます。オブジェクトの状況は、サブジェクトごとに表示できます。サブジェクトには、存在、属性、メソッド、およびイベントがあります。
例えば、以下のコマンドはすべての B[5] 属性と現在値のリストを表示します。
show B[5] attributes
構文
show <object> <interest-list>
引数
object
トレースするオブジェクトを指定します。以下のいずれかの項目にすることができます。
- A などコード内に出現するクラスの名前。トレース・コマンドは、クラス A のすべてのインスタンスに適用されます。
- A[3] など、現在の実行中に存在するインスタンスの名前。インスタンスは、その作成前または破壊後に参照することはできません。
- A[3]‑>itsB[2] などのナビゲーション式。
詳細については、ナビゲーション式を参照してください。
- コードに現れるパッケージの名前。トレーサーは、パッケージ内のすべてのクラスをレポートします。
- トレーサーが理解するキーワード。キーワードでは、大/小文字の区別はありません。
以下のキーワードが可能です。
- #All - コード内に現れるすべてのクラス。
- #Breakpoints - すべてのブレークポイントのリスト。
- #CallStack - 現在スタックにある操作。つまり、遷移に定義された振る舞い操作を含む、開始されたがまだ終了していない操作。
- #EventQueue - 全保留イベントのキュー。つまり、送信されたがまだ受信されていないイベント。
- #Thread threadName->#CallStack - スレッド threadName のコール・スタック (遷移に定義された振る舞い操作を含む、このスレッドで開始されたがまだ終了していないすべての操作)。
- #Thread threadName->#EventQueue - スレッド名 threadName の全保留イベントのキュー (送信されたがまだ受信されていないイベント)。
interest-list
コンマで区切ったサブジェクトのリストを指定します。関心リスト (interest-list) は、オブジェクトに関するどんな情報をレポートするかを決定します。
このリストはオプションです。サブジェクトを何も入力しないと、トレーサーは以下のコマンドを実行したのと同じようにオブジェクトの存在のみレポートします。
show <object> existence
以下のサブジェクトが可能です。
表 1. show コマンドで可能なサブジェクト| existence |
constructors |
| relations |
destructors |
| attributes |
timeouts |
| states |
parameters |
| controls |
subclasses |
| methods |
threads |
| events |
|
サブジェクト existence はオブジェクトの存在をレポートします。
サブジェクト subclasses は、トレース・コマンドを、クラスのすべてのサブクラスに適用します。
これはクラス・オブジェクトにのみ当てはまります。
以下のキーワードを使用して、表示するオブジェクトを定義できます (大/小文字の区別はありません)。
- #All - コード内のすべてのクラスについて、関心リスト内のサブジェクトを表示します。
- #All events - システムが認識するすべてのイベントを表示します。これは、イベントの正確な名前を忘れたときに便利です。
- #Thread threadName->#CallStack / #CallStack - 現在フォーカス・スレッドのスレッド threadName のスタックにあるすべての操作を表示します。
- #Thread threadName-># EventQueue/# EventQueue - 現在フォーカス・スレッドのスレッド threadName のキューにあるすべてのイベントを表示します。
- #Threads - すべてのスレッドのステータスを表示します。各生存スレッドは、リアクティブか停止として表示されます。1 つのスレッドの名前の横にアスタリスクがあり、アクティブ・スレッドであることを示しています。
- #Breakpoints - 現在アクティブなブレークポイントのリストを表示します。
例
show A[0] states
A[0] の現在の状態を表示します。
show #all all
すべてのインスタンスのすべての情報を表示します。
show #Breakpoints
すべてのブレークポイントを表示します。
show #Threads
すべてのスレッドを表示します。
Show MyClass relations
MyClass の各インスタンスについて、すべてのインスタンスのすべての関係を表示します。
特殊な取り扱い
show コマンドを使用するときは、以下の特殊な取り扱いに注意してください。