练习 1.3:应用探针

在开始之前,必须完成练习 1.2:创建第一个探针

现在您已经创建了 RandomNumbersProbe 探针并且修正了其中的错误,可以执行 RandomNumbers 程序并对它应用探针。 注意,您不需要修改包含 RandomNumbers 程序的项目。

首先,不带探针运行 RandomNumbers 程序。

此程序将从 1 到 10 选择一个随机数。 如果随机数是 10,模拟以“命中”结束。 否则,程序持续选择随机数,直至(A)新数与第一个数相匹配或(B)新数是 10。 如果是(A),模拟报告“命中”。如果是(B),模拟报告“未命中”。

要运行此程序:

  1. 从 Software Development Platform 菜单栏中,单击窗口 > 显示视图 > 控制台。打开“控制台”视图。
  2. 在“包资源管理器”视图中,展开 RandomNumbers缺省包条目。
  3. 右键单击 RandomNumbers.java 文件,然后单击运行 > Java 应用程序

在“控制台”视图中的输出将如下所示:

随机数模拟现在正在启动。
下一个选择的随机值:7。
初始随机值不是 10。找一个匹配值。
目标值是 7
下一个选择的随机值:5。
不匹配,不是 10。继续。
目标值是 7
下一个选择的随机值:8。
不匹配,不是 10。继续。
目标值是 7
下一个选择的随机值:7。
10 之前发生匹配:命中。

现在,再次运行程序,但是这次应用探针:

  1. 在“包资源管理器”视图中,右键单击 RandomNumbers.java 文件并选择概要分析 > Java 应用程序。 打开 RandomNumbers 的“属性”对话框,它允许您编辑“启动配置”属性。
  2. 选择“概要分析”选项卡。
  3. 从概要分析集列表中,选择探针实例概要分析集,并单击编辑。“编辑概要分析集”对话框打开。
  4. 单击下一步。 “概要分析类型”页面打开,这样您就可以编辑探针插入概要分析类型属性。 探针 RandomNumbersProbe 将显示在可选探针的列表中。
  5. 单击 RandomNumbersProbe 复选框以选中它,并确保可能列出的其它探针没有选中。
  6. 单击下一步。 “过滤器集”页面打开。将使用此页面来确保此探针只应用于我们选为目标的类和方法。
  7. 确保选择了“缺省”过滤器集。 每个过滤器集都包含一个隐式“全部包含”规则作为它的最后一个条目,因此此过滤器集不包括除您自己的程序中的类之外的所有类。
  8. 单击完成,然后单击确定
  9. 如果“确认透视图切换”对话框打开,请单击。 Software Development Platform 切换至“概要分析和记录日志”透视图,并且程序运行。装入类时,选择的探针将应用到这些类,并且在方法执行时,将触发探针的“entry”段。
    注意:如果接收到“代理控制器不可用”安全性消息,请阅读如果无法收集数据
  10. 如果还没有显示“控制台”视图,请选择窗口 > 显示视图 > 控制台打开它。

“控制台”视图显示 RandomNumbers 程序的常规输出,加上探针逻辑生成的输出。显示类似于:

[输入方法 RandomNumbers.main]
[输入方法 RandomNumbers.<init>]
[输入方法 RandomNumbers.runSimulation]
随机数模拟现在正在启动。
[输入方法 RandomNumbers.getRandomNumber]
下一个选择的随机值:2。
初始随机值不是 10。找一个匹配值。
目标值是 2
[输入方法 RandomNumbers.getRandomNumber]
下一个选择的随机值:2。
10 之前发生匹配:命中。

正如您所见,来自探针的“entry”段的输出和程序自身的输出一起显示。请注意,来自探针的输出在方括号中,因为那是我们在段中写入 System.out.println 调用的方式。

如果无法收集数据

必须先运行“代理控制器”才能收集任何种类的概要分析数据。如果接收到“代理控制器不可用”消息,确保已安装“代理控制器”,手工启动它,然后再试。有关指示信息,请参阅安装指南。您可以使用启动板访问安装指南,或者在产品 CD 的 disk1/install.html 下找到它。

您现在已经创建并使用了一个每次在程序中的方法进入时就报告的简单探针。现在,您就可以开始练习 1.4:创建更高的探针了。

反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.