정의하는 각 단편에는 유형 스펙이 필요합니다. 유형은 대상 메소드에서 단편을 실행할 시기를 표시합니다. 프로브는 단편 둘 이상을 포함할 수 있지만 지정된 단편의 유형을 둘 이상 포함할 수는 없습니다.
단편 유형 | 메소드 또는 호출 사이트 | 설명 |
---|---|---|
entry | 메소드 | entry 단편은 메소드 입력 시 실행됩니다. entry 단편은 Probekit에서 클래스에 삽입한 메소드에서는 실행되지 않습니다. |
exit | 메소드 | exit 단편은 메소드 종료 시 실행됩니다. 정상적으로 종료되거나 메소드에서 예외를 처리하거나 처리된 예외가 메소드 외부로 전달되는 경우가 이에 해당합니다. exit 단편은 Probekit에서 클래스에 삽입한 메소드에서는 실행되지 않습니다. |
catch | 메소드 | catch 단편은 메소드의 catch절을 시작하거나 예외가 발생한 결과 실행되는 finally절을 시작할 때 실행됩니다. |
staticInitializer | 메소드 | staticInitializer 단편은 모든 프로브된 클래스의 클래스 초기화 프로그램 내부에서 실행됩니다. 클래스에 정적 초기화 프로그램이 없는 경우 초기화 프로그램을 작성합니다. 자세한 정보는 staticInitializer 프로브 단편 유형을 참조하십시오. |
executableUnit | 메소드 | executableUnit 단편은 프로브의 대상 및 필터 스펙과 일치하는 메소드의 모든 실행 가능 코드 단위 이전에, 소스 코드가 사용 가능한 동안 실행됩니다. 메소드에 소스 행 정보가 없는 경우, 숫자 0으로 표시된 단일 실행 가능 단위가 있는 것으로 나타납니다. 자세한 정보는 executableUnit 프로브 단편 유형을 참조하십시오. |
beforeCall | 호출 사이트 | beforeCall 단편은 대상 메소드를 호출하기 바로 전에 호출 메소드에서 실행됩니다. 메소드 프로브에는 올바르지 않습니다. |
afterCall | 호출 사이트 | afterCall 단편은 대상 메소드가 종료된 직후 호출 메소드에서 실행됩니다. 정상적으로 종료되거나 대상 메소드에서 예외를 처리하는 경우가 이에 해당합니다. 메소드 프로브에는 올바르지 않습니다. |
프로브는 메소드의 동일한 위치에 적용되는 여러 단편을 포함할 수 있습니다. 예를 들어, entry 단편과 첫 번째 executableUnit 위치가 이에 해당합니다. 다른 예로, catch 단편과 이와 연관된 executableUnit 위치가 있습니다. 예외를 처리할 때 catch절은 항상 새 실행 가능 단위 시작을 가리키기 때문입니다. 이 경우 executableUnit 단편 코드는 entry 또는 catch 단편 코드 이후에 실행됩니다. 그 결과 entry 단편이 있는 경우, 이 단편은 항상 다른 종류의 단편 이전에 실행됩니다.
단일 프로브에서 메소드 단편 및 호출 사이트 단편을 혼합할 수 없지만, 동일한 Probekit 소스 파일(프로브 파일)의 경우 메소드 프로브 및 호출 사이트 프로브가 함께 있을 수 있습니다.
단편 유형을 지정하려면 프로브 페이지의 트리 분할창에서 단편 항목을 선택한 후 편집 분할창의 단편 유형 목록에서 선택하십시오.