show 命令使您能够查看对象的状态。此命令允许您按主题查看对象的状态。主题包括存在性、特性、方法和事件。
例如,以下命令将显示所有 B[5] 特性及其当前值的列表:
show B[5] attributes
语法
show <object> <interest-list>
自变量
对象
指定要跟踪的对象。这可以是下列其中一项:
- 代码中出现的类名,例如 A。trace 命令将应用于类 A 的所有实例。
- 当前存在于执行中的实例的名称,例如 A[3]。不能在实例构造之前或者在其析构之后对其进行引用。
- 导航表达式,例如 A[3]‑>itsB[2]。请参阅导航表达式以了解更多信息。
- 出现在代码中的包名。跟踪器将报告该包中所有的类。
- 跟踪器所理解的关键字。这些关键字不区分大小写。可能的关键字如下所示:
- #All 表示代码中出现的所有的类。
- #Breakpoints 表示所有断点的列表。
- #CallStack 表示堆栈中当前包含的操作;即,已启动但尚未终止的操作,包括对过渡定义的行为操作。
- #EventQueue 表示所有暂挂事件(即,已发送但尚未接收的事件)的队列。
- #Thread threadName->#CallStack 表示线程
threadName 的调用堆栈。(所有在此线程中启动但尚未终止的操作,包括对过渡定义的行为操作。)
- #Thread threadName->#EventQueue 表示线程名
threadName 的所有暂挂事件(已发送但尚未接收的事件)的队列。
interest-list
指定主题列表(使用逗号进行分隔)。兴趣列表确定要向您报告的对象信息。
此列表是可选的;如果您未输入任何主题,那么跟踪器将只报告对象的存在情况,就像您执行了以下命令一样:
show <object> existence
可能的主题如下所示:
表 1. show 命令的可能主题| existence |
构造函数 |
| 关系 |
析构函数 |
| 特性 |
超时 |
| 状态 |
参数 |
| controls |
subclasses |
| 方法 |
线程 |
| 事件 |
|
主题 existence 报告对象的存在情况。
主题 subclasses 将 trace 命令应用于一个类的所有子类。此主题仅与类对象相关。
可以使用下列关键字来定义所要显示的对象(这些关键字不区分大小写):
- #All 对代码中所有的类显示兴趣列表中的主题。
- #All events 显示系统所识别的所有事件。如果您忘记了事件的准确名称,那么此关键字非常有用。
- #Thread threadName->#CallStack / #CallStack 对焦点线程显示线程 threadName 的堆栈中当前包含的所有操作。
- #Thread threadName-># EventQueue/# EventQueue 对焦点线程显示线程 threadName 的队列中当前包含的所有事件。
- #Threads 显示所有线程的状态。每个活动线程都将显示为反应线程或暂挂线程。其中一个线程的名称旁边带有星号,这表示它是活动线程。
- #Breakpoints 显示当前活动断点的列表。
示例
show A[0] states
显示 A[0] 的当前状态。
show #all all
显示关于所有实例的所有信息。
show #Breakpoints
显示所有断点。
show #Threads
显示所有线程。
Show MyClass relations
对 MyClass 的每个实例显示所有实例的所有关系。
特殊情况
在使用 show 命令时,请考虑下列特殊情况: