show 명령은 오브젝트의
상태를 볼 수 있게 합니다. 오브젝트의 상태를 주제별로
볼 수 있게 합니다. 주제에는 존재, 속성, 메소드 및
이벤트가 포함됩니다.
예를 들어, 다음 명령은
모든 B[5] 속성 및 현재 값의 목록을
표시합니다.
show B[5] attributes
구문
show <object> <interest-list>
인수
object
추적할
오브젝트를 지정합니다. 다음 중 한 항목일 수
있습니다.
- 코드에 표시되는 클래스의 이름(예: A).
trace 명령이 클래스 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 주제는 오브젝트의 존재 여부를
보고합니다.
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
명령을 사용할 때 다음 특수 경우를 고려하십시오.
- 인스턴스 오브젝트는
관계, 속성 및 상태 주제만 관련되어 있음을 의미합니다.
- 클래스 오브젝트는 클래스를 표시하면
이 클래스에 속한 모든 인스턴스의 목록이 나타남을 의미합니다. 관심 목록에
서브클래스가 포함된 경우에는 추적기가 서브클래스의 인스턴스도 표시합니다.
관심 목록에 인스턴스 오브젝트의 관련 주제가 포함되면
표시된 각 오브젝트도 이 주제에 대해 표시됩니다.
예를 들어, show A states
명령은 다음 코드를 생성합니다.
A[1]
A[2]
A[3]
A[1] currently in states
ROOT
ROOT.S1
ROOT.S1.S2
A[2] currently in states
ROOT
ROOT.S7
ROOT.S8
A[3] currently in states
ROOT
ROOT.S1
ROOT.S1.S2