有两种探针:方法探针和调用位置探针。
方法探针被插入到目标方法的主体中。对于方法探针,字节码检测(BCI)引擎检测包含目标方法的类文件或 JAR 文件。
调用位置探针被插入到调用目标方法的任何方法的主体中。换句话即,它们将在调用位置被插入调用方法而不是被调用的方法。对于调用位置探针,BCI 引擎检测包含调用目标方法的类或 JAR 文件。
在要监视项目中对系统库或项目外其他支持类的调用时,通常要使用调用位置探针。当很难或者不可能检测包含想要作为目标的方法的类文件时,调用位置探针也很有用。
探针是方法探针还是调用位置探针,取决于探针段类型。要获取探针段类型的有注解的列表,请参阅探针段类型。
Probekit 源文件(probe 文件)可以同时包含方法探针和调用位置探针。但是,各个探针不能包含方法探针段和调用位置探针段的混合体;探针中的所有探针段必须具有相同类别。