executableUnit 探针段

executableUnit 探针段允许您为一些方法执行细粒度数据收集,这些方法符合探针的目标和过滤器规范,并且提供了源代码信息。

对这种类型的段的调用被插入在目标方法的每个“可执行单元”之前。对于符合探针的目标和过滤器规范但是没有源代码信息的方法,该段仅在方法的开头插入一次。

executableUnit 段可以使用除了 returnedObjectexceptionObjectisFinallythisObject 之外的所有数据项类型。最重要的是,它们可以使用 executableUnitNumber 数据项,该数据项包含将要执行的可执行单元的编号。

方法中和行表中的可执行单元的编号不包括由 Probekit 插入到方法中的可执行单元。

可执行单元和基本块

可执行单元从每个基本块的开头以及其源代码行号与前一个字节码不同的每个字节码开始。基本块是一定范围的字节码指令,既不能对它进行分支,也不能将它作为分支添加。当执行基本块中的第一条指令时,将执行所有指令,因此,这些指令被认为是单个组。

基本块以 branchcallthrowreturn 等指令结束。

尽管事实上某些指令(例如,“devide”)会抛出异常,但是不会将这些指令认为是可执行单元的结束。这是可执行单元与基本块在技术上的另一个不同点。

如果 Java 方法没有任何相关联的源代码信息,则认为整个方法只有一个可执行单元。

上级主题: Probekit 参考

相关参考
Fragment 探针对象
Data 探针对象

相关信息
ExecutableUnit 示例

Copyright IBM Corporation and others 2000, 2004.