executableUnit 프로브 단편 유형을 사용하면 프로브의 대상 스펙과 일치하고 소스 코드 정보가 사용 가능한 메소드에서 정확한 데이터 수집을 수행할 수 있습니다.
이 단편 유형에 대한 호출은 모든 대상 메소드에서 실행 가능 단위 앞에 삽입됩니다. 프로브의 대상 스펙과 일치하지만 소스 코드 정보가 없는 메소드의 경우, 단편은 메소드를 시작할 때 한 번만 삽입됩니다.
executableUnit 단편은 returnedObject, exceptionObject, isFinally 및 thisObject를 제외한 모든 데이터 항목 유형을 사용할 수 있습니다. 실행할 실행 가능 단위 수를 포함하는 executableUnitNumber 데이터 항목을 사용할 수 있다는 점이 가장 중요합니다.
메소드 및 행 테이블에 있는 실행 가능 단위 수에는 Probekit에서 메소드로 삽입한 실행 가능 단위는 포함되지 않습니다.
실행 가능 단위는 모든 기본 블록의 시작 부분과, 소스 행 번호가 이전 바이트 코드와 다른 모든 바이트 코드에서 시작합니다. 기본 블록은 분기되어 나오거나 분기되어 들어갈 수 없는 바이트 코드 명령어의 영역입니다. 기본 블록의 첫 번째 명령어를 실행하면 모든 명령어가 실행되고 명령어를 단일 그룹으로 간주합니다.
기본 블록은 branch, call, throw 및 return과 같은 명령어로 끝납니다.
divide와 같은 일부 명령어는 예외를 처리할 수 있다는 사실에도 불구하고 실행 가능 단위의 끝으로 간주되지 않습니다. 기술적인 관점에서 실행 가능 단위는 기본 블록과 동일하지 않습니다.
Java 메소드가 연관된 소스 정보를 가지고 있지 않은 경우, 전체 메소드는 하나의 실행 가능 단위만 갖는 것으로 간주됩니다.