데이터 프로브 객체에는 단편 코드 객체에 있는 소스 코드에서 참조하는 데이터 항목의 이름 및 유형이 포함되어 있습니다.
데이터 객체는 선택적입니다. 프로브 단편에는 둘 이상의 데이터 객체가 포함될 수 있으나, 단편의 두 데이터 객체에 같은 유형 또는 이름이 있을 수 없습니다.
특성 | 설명 |
---|---|
이름 | 필수. 올바른 Java 변수 이름을 지정해야 합니다. |
유형 | 필수. 다음 테이블에 사용 가능한 유형이 나열되어 있습니다. |
유형 | 데이터 유형 | 설명 |
---|---|---|
className | String | 내부 형식의 패키지 이름을 포함하는 프로브 메소드의 클래스 이름. 예: org/eclipse/hyades/SomeClass |
methodName | String | 내부 형식의 프로브 메소드 메소드 이름. staticInitializer 단편에는 적용되지 않습니다. 구성자에는 메소드 이름 <init>가, 정적 클래스 초기화 프로그램에는 메소드 이름으로 <clinit>가 있습니다. |
methodSig | String | 내부 형식의 메소드 인수 및 리턴 유형 서명. staticInitializer 단편에는 적용되지 않습니다. 예: (Ljava/lang/String;)I |
thisObject | Object | 프로브 메소드에 전달된 이 객체(인스턴스 메소드의 경우). staticInitializer 단편에는 적용되지 않습니다. thisObject는 정적 메소드의 경우, 구성자에 적용되는 entry 단편의 경우 및 구성자가 예외를 발생할 때 구성자에 적용되는 exit 단편의 경우 널(null)이 됩니다. |
args | Object[] | 프로브 메소드에 대한 인수를 표시하는 객체 배열 참조. 이 배열에는 메소드에 대한 각 인수를 위한 하나의 요소가 있습니다(이 인수를 계산하지 않음). 원시 유형인 인수는 적절한 참조 유형의 임시 객체로 바인드됩니다(예: int의 경우 정수). 메소드가 인수를 취하지 않으면 이 메소드는 크기가 0인 Object[] 배열이 됩니다. 비정적 내부 클래스용 구성자에는 "내부" 레벨당 하나의 숨겨진 인수가 있으므로 인수 배열에는 소스 코드에 나타나는 것보다 더 많은 요소를 포함하게 됩니다. staticInitializer 단편에는 적용되지 않습니다. |
returnedObject | Object | 리턴 중인 객체에 대한 참조. 이 유형은 exit 단편 전용으로 사용 가능합니다. 프로브 메소드의 리턴 유형이 원시 유형인 경우 리턴값은 적절한 참조 유형의 임시 객체로 바인드됩니다. 메소드가 void(값을 리턴하지 않음) 또는 예외로 존재하는 경우 returnedObject는 널(null)이 됩니다. afterCall 단편에만 적용됩니다. |
exceptionObject | 처리 가능 | 처리 중인 예외 객체에 대한 참조. 이 유형은 catch 및 exit 단편 전용으로 사용 가능합니다. 메소드가 정상적으로 존재하는 경우 exceptionObject는 널(null)이 됩니다. |
isFinally | boolean | 단편을 finally절(true) 또는 catch절(false)에서 호출했는지 여부를 표시하는 플래그. catch 단편에만 적용됩니다. |
staticField | (변동) | 정적 필드에서 참조하는 객체. 해당 유형은 staticField 객체에 선언된 유형과 같습니다. 이는 프로브에도 staticField 객체가 있는 경우에만 적용됩니다. 호출 사이트 프로브에는 적용되지 않습니다. |
classSourceFile | String | 소스 파일 이름 정보는 클래스 파일의 디버그 속성에서 사용할 수 있습니다. 소스 정보가 없는 경우 classSourceFile은 널(null)이 됩니다. Java의 경우 값은 일반적으로 경로 정보가 없는 단순한 파일 이름입니다. 호출 사이트 프로브에는 적용되지 않습니다. |
methodNames | String | 인코드된 메소드 이름 및 서명 목록. 이 목록에 있는 메소드 순서는 methodLineTables에 있는 메소드 순서와 같으며 methodNumber 데이터 항목에서 반영한 순서와 같습니다. 목록에는 Probekit에서 클래스에 삽입한 메소드 이름이 포함되지 않습니다. methodNames 문자열은 하나 이상의 메소드 이름 및 서명으로 구성되며 더하기 부호("+")로 구분됩니다. 메소드 서명은 Java 내부 형식으로 되어 있습니다. 예: 기본 구성자 및 String을 받아 int를 리턴하는 run 메소드의 두 메소드가 있는 클래스에는 다음과 같은 methodNames 문자열이 있습니다: <init>()V+run(Ljava/lang/String;)I 호출 사이트 프로브에는 적용되지 않습니다. |
methodLineTables | String | 클래스의 모든 실행 가능 코드 단위에 대응하는 인코드된 라인 번호 목록. 목록에는 Probekit에서 클래스에 삽입한 실행 가능 단위가 포함되지 않습니다. 인코딩 설명을 보려면 methodLineTables 문자열 형식의 내용을 참조하십시오. 호출 사이트 프로브에는 적용되지 않습니다. |
methodNumber | Integer | 프로브 단편을 삽입한 메소드의 methodNames 테이블에 있는 색인 번호. 호출 사이트 프로브 또는 staticInitializer 단편에는 적용되지 않습니다. |
executableUnitNumber | Integer | 프로브 단편을 삽입한 실행 가능 단위의 수. 이 데이터 유형은 executableUnit 및 catch 프로브 단편에만 적용됩니다. 메소드에 소스 라인 정보가 없는 경우 번호가 0인 하나의 실행 가능 단위가 있는 것으로 나타납니다. |
<data type="className" name="__class" />
다음에 의해 포함됨
단편 프로브 객체