trace

trace 명령은 주어진 오브젝트(클래스, 인스턴스 또는 키워드)에 대해 어느 주제를 추적할지 지정합니다. 주제에는 존재, 속성, 메소드 및 이벤트가 포함됩니다. 한 주제별로 모든 오브젝트를 추적하거나, 전체 주제별로 한 오브젝트를 추적하거나, 이들 사이의 임의의 오브젝트를 추적하도록 선택할 수 있습니다.

기본적으로 추적기는 모든 클래스와 인스턴스를 추적하며 다음 명령을 실행한 경우처럼 시스템 항목(예: 호출 스택 및 이벤트 큐)은 추적하지 않습니다.

   trace #all all

애니메이션에서는 기본적으로 다음 명령을 실행한 경우처럼 항목이 추적되지 않습니다.

   trace object nothing

구문

trace <object> <interest-list>

인수

object

추적할 오브젝트를 지정합니다. 다음 중 한 항목일 수 있습니다.

표 1. trace 명령의 가능한 주제
존재 생성자
관계 소멸자
속성 제한시간
상태 매개변수
제어 서브클래스
메소드 스레드
이벤트  

allnothing 키워드는 전체 주제를 나타내거나 아무런 주제도 나타내지 않습니다.

주제 앞에 더하기(+) 또는 빼기(-) 부호를 추가하여 현재 관심 목록에서 주제를 빼거나 더하십시오. +도, -도 없으면 입력된 주제가 이전에 선택된 주제를 바꾸면서 현재 관심 목록이 됩니다.

existence 주제는 오브젝트의 존재 여부를 보고합니다.

subclasses 주제는 클래스의 모든 서브클래스에 trace 명령을 적용합니다. 클래스 오브젝트에만 관련됩니다.

명령 시맨틱

오브젝트의 이름 다음에 나열하는 주제로 주어진 오브젝트의 관심 목록을 설정하거나 수정합니다.

예제 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 명령을 사용할 때 다음 특수 경우를 고려하십시오.


피드백