프로브 단편 데이터 항목

단편의 데이터 항목은 단편의 소스 코드가 참조할 수 있는 데이터 항목 유형 및 이름입니다.

데이터 항목 스펙은 선택사항입니다. 단편은 데이터 항목을 둘 이상 포함할 수 있지만 각 항목 유형은 한 번만 표시될 수 있습니다.

데이터 항목의 특성은 다음과 같습니다.
특성 설명
데이터 유형 필수적. 다음 표에는 사용 가능한 유형이 나열되어 있습니다.
이름 필수적. 올바른 Java 변수 이름을 지정해야 합니다. 프로브 단편 소스 코드는 표시된 데이터를 참조할 때 이 이름을 사용합니다.
다음 표에서는 Probekit 편집기에서 사용 가능한 데이터 유형을 나열하고 설명합니다.
데이터 유형 type 설명
className String

메소드 프로브의 경우 패키지 이름을 포함하여 내부 형식의 프로브된 메소드의 클래스 이름. 호출 사이트 프로브의 경우 호출된 메소드의 클래스 이름.

예제: org/eclipse/tptp/SomeClass

methodName String

메소드 프로브의 경우 내부 형식의 프로브된 메소드의 메소드 이름. 호출 사이트 프로브의 경우 호출된 메소드의 메소드 이름.

생성자의 메소드 이름은 <init>이고, 정적 클래스 초기화 프로그램의 메소드 이름은 <clinit>입니다.

methodSig String

내부 형식의 메소드 인수 및 리턴 유형 서명. staticInitializer 단편에는 올바르지 않습니다.

예제: (Ljava/lang/String;)I

thisObject Object

프로브된 메소드로 전달된 this 오브젝트(인스턴스 메소드에 대한). staticInitializer 단편에는 올바르지 않습니다.

thisObject는 정적 메소드, 생성자에 적용되는 entry 단편 및 생성자에서 예외를 처리할 때 생성자에 적용되는 exit 단편에서 null입니다.

args Object[]

프로브된 메소드에 인수를 나타내는 Object 참조의 배열. 이 배열에는 메소드에 대한 각 인수에 대해 하나의 요소가 있습니다(this 인수는 계수하지 않음). 기본 유형인 인수는 적절한 참조 유형의 임시 오브젝트로 박스(box) 처리됩니다(예제: int의 경우 Integer). 메소드에서 인수를 사용하지 않는 경우, Object[] 배열 크기는 0입니다.

비정적 내부 클래스에 대한 생성자가 "내부" 레벨당 하나의 숨겨진 인수를 가지므로 인수 배열은 소스 코드에 나타나는 것보다 더 많은 요소를 포함한다는 점에 유의하십시오. staticInitializer 단편에는 올바르지 않습니다.

returnedObject Object 리턴되고 있는 오브젝트에 대한 참조. 이 유형은 exitafterCall 단편에서만 사용 가능합니다. 프로브된 메소드의 리턴 유형이 기본 유형일 경우, 리턴된 값은 적절한 참조 유형의 임시 오브젝트로 바인드됩니다. 메소드가 void이거나(값을 리턴하지 않음) 예외로 종료되는 경우, returnedObjectnull입니다.
exceptionObject Throwable 처리되고 있는 예외 오브젝트에 대한 참조. 이 유형은 catchexit 단편에만 사용 가능합니다. 메소드가 정상적으로 종료되면 exceptionObjectnull입니다.
isFinally boolean 단편이 finally절(true) 또는 catch절(false)에서 호출되었는지를 표시하는 플래그. catch 단편에서만 올바릅니다.
staticField (변경됨) static 필드에 의해 참조되는 오브젝트. 이 오브젝트의 유형은 staticField 오브젝트에 선언된 것과 같은 유형입니다. 프로브가 staticField를 선언한 경우에만 올바릅니다. staticField 및 staticInitializer 프로브 예제를 참조하십시오. 호출 사이트 프로브에는 올바르지 않습니다.
classSourceFile String 클래스 파일의 디버그 속성에서 사용 가능한 소스 파일 이름 정보. 소스 정보가 없으면 classSourceFilenull입니다. Java의 경우, 이 값은 일반적으로 경로 정보가 없는 파일 이름뿐입니다. 호출 사이트 프로브에는 올바르지 않습니다.
methodNames String

메소드 이름 및 서명의 인코딩된 목록. 이 목록에서 메소드의 순서는 methodLineTables에 있는 메소드의 순서와 동일하며, methodNumber 데이터 항목에 의해 반영되는 순서와 동일합니다. 목록에는 Probekit에서 클래스로 삽입한 메소드 이름이 들어 있지 않습니다.

methodNames 문자열은 하나 이상의 메소드 이름과 서명으로 구성되며 더하기("+") 부호로 구분되어 있습니다. 메소드 서명은 Java 내부 형식으로 되어 있습니다. 예를 들어, 기본 생성자 및 run 메소드(String을 사용하여 int를 리턴함)와 같은 두 개의 메소드가 있는 클래스는 <init>()V+run(Ljava/lang/String;)I과 같은 methodNames 문자열을 포함합니다.

호출 사이트 프로브에는 올바르지 않습니다.

methodLineTables String 클래스에 있는 모든 실행 가능 단위 코드와 일치하는 인코딩된 행 번호 목록. 목록에는 Probekit에서 클래스로 삽입한 실행 가능 단위가 들어 있지 않습니다. 인코딩을 설명하는 경우 methodLineTables 데이터 문자열 형식을 참조하십시오. 호출 사이트 프로브에는 올바르지 않습니다.
methodNumber Integer 프로브 단편이 삽입된 메소드에 대한 methodNames 테이블에 있는 색인 번호. 호출 사이트 프로브 또는 staticInitializer 단편에는 올바르지 않습니다.
executableUnitNumber Integer 프로브 단편이 삽입된 실행 가능 단위의 수. 이 데이터 유형은 executableUnit 및 catch 프로브 단편에서만 올바릅니다. 메소드에 소스 행 정보가 없는 경우, 숫자 0으로 표시된 단일 실행 가능 단위가 있는 것으로 나타납니다.
예제:

프로브 단편 데이터 항목을 입력하려면 트리 분할창에서 단편을 선택한 후 추가편집을 사용하여 편집 분할창에서 데이터 항목을 입력한 후 정의하십시오.

단편의 데이터 항목이 표시되는 방법을 보여주는 Probekit 편집기

관련 참조
프로브 단편 Java 소스 코드
프로브 단편 유형