段的数据项是段的源代码可以引用的数据项的名称和类型。
可以选择是否指定数据项。一个段可以包含多个数据项,但是每种类型的数据项只能出现一次。
属性 | 描述 |
---|---|
Data Type | 此属性是必需的。下表中列示了可用的类型。 |
Name | 此属性是必需的。必须指定有效的 Java™ 变量名称。探针段源代码将使用此名称来引用所指示的数据。 |
数据类型 | 类型 | 描述 |
---|---|---|
className | 字符串 | 对于方法探针,这是指内部格式的探测方法的类名(包括包名);而对于调用位置探针,这是指被调用的方法的类名。 示例:org/eclipse/hyades/SomeClass |
methodName | 字符串 | 对于方法探针,这是指内部格式的探测方法的方法名;而对于调用位置探针,这是指被调用的方法的方法名。 构造函数具有方法名 <init>,而静态类初始化方法具有方法名 <clinit>。 |
methodSig | 字符串 | 内部格式的方法自变量和返回类型特征符。对于 staticInitializer 段无效。 示例:(Ljava/lang/String;)I |
thisObject | 对象 | 传递给探测方法的 this 对象(用于实例方法)。对于 staticInitializer 段无效。 对于静态方法、应用于构造函数的 entry 段以及当构造函数抛出异常时应用于构造函数的 exit 段,thisObject 为 null。 |
args | Object[] | Object 引用的数组,这些引用表示探测方法的自变量。对于方法的每个自变量(未考虑 this 自变量),该数组中都有一个元素。是基本类型的自变量会绑定到适当引用类型的临时对象中(例如:Integer 表示 int)。如果方法没有自变量,则 Object[] 数组的大小为零。 注意,非静态内部类的构造函数对每个“内部”级别有一个隐藏的自变量,所以自变量数组包含的元素将比源代码中出现的元素多。对于 staticInitializer 段无效。 |
returnedObject | 对象 | 对正在返回的对象的引用。此类型仅可用于 exit 和 afterCall 段。如果探测方法的返回类型是基本类型,则将把返回的值绑定至适当引用类型的临时对象。如果方法是 void(不返回值)或者它由于发生异常而退出,则 returnedObject 为 null。 |
exceptionObject | 可抛出 | 对正在抛出的异常对象的引用。此类型仅可用于 catch 和 exit 段。如果该方法正常退出,则 exceptionObject 将为 null。 |
isFinally | 布尔 | 表明段是从 finally 子句(true)还是从 catch 子句(false)调用的一个标志。仅在 catch 段中有效。 |
staticField | (变化) | 由静态字段引用的对象。其类型与 staticField 对象中声明的类型相同。这仅当探针声明 staticField 时才有效。(请参阅staticField 和 staticInitializer 探针示例。)对于调用位置探针无效。 |
classSourceFile | 字符串 | 可从类文件的调试属性中获取的源文件名信息。如果没有源信息,则 classSourceFile 为 null。对于 Java,该值通常只是不带路径信息的文件名。对于调用位置探针无效。 |
methodNames | 字符串 | 编码的方法名和特征符列表。该列表中方法的顺序与 methodLineTables 中方法的顺序相同,并且与 methodNumber 数据项反映的排序相同。该列表中不包括已被 Probekit 插入到类中的任何方法的名称。 methodNames 字符串由一个或多个方法名和特征符组成,并用加号(“+”)分隔。这些方法特征符是以 Java 内部格式表示的。例如,如果一个类具有两个方法:一个缺省构造函数、一个 run 方法,后者接收 String 并返回 int,则该类具有以下 methodNames 字符串:<init>()V+run(Ljava/lang/String;)I 对于调用位置探针无效。 |
methodLineTables | 字符串 | 与类中的代码的每个可执行单元相对应的行号的已编码列表。该列表中不包括已被 Probekit 插入到类中的可执行单元。有关编码的说明,请参阅 methodLineTables 数据字符串格式。对于调用位置探针无效。 |
methodNumber | 整数 | methodNames 表中用于插入探针段的方法的索引号。对于调用位置探针或 staticInitializer 段无效。 |
executableUnitNumber | 整数 | 插入到探针段中的可执行单元数。此数据类型仅对于 executableUnit 和 catch 探针段有效。如果该方法没有源代码行信息,它就会以具有单个可执行单元(编号为零)的形式出现。 |
要输入探针段数据项,在树窗格中选择段,然后使用添加和编辑在编辑窗格中输入和定义数据项。