探针分为两种:一种是方法探针,另一种是调用位置探针。
方法探针将被插入到目标方法的主体中。对于方法探针,字节码检测(BCI)引擎将检测包含目标方法的类文件或 JAR 文件。
调用位置探针将被插入到调用目标方法的任何方法的主体中。即,将在调用位置将调用位置探针插入到调用方法中,而不是插入到被调用的方法中。对于调用位置探针,BCI 引擎将检测包含将调用目标方法的方法的类文件或 JAR 文件。
当您想监视从项目到系统库的调用或者监视从项目到项目外部的其它支持类的调用时,通常就要使用调用位置探针。当很难或者不可能检测包含您想要作为目标的方法的类文件时,调用位置探针也很有用。
究竟一个探针是方法探针还是调用位置探针,取决于探针段类型。有关带有注释的探针段类型列表,请参阅探针段类型。
Probekit 源文件(probe 文件)可以同时包含方法探针和调用位置探针。但是,单个探针不能同时包含方法探针段和调用位置探针段;一个探针中的所有探针段必须属于同一类别。