本文通过介绍 Optimizeit Thread Debugger的一些主要特征来使你对它有个简要的了解。如果想要了解更多的信息,请查看 Optimizeit Thread Debugger 用户手册,也可以从 Optimizeit Thread Debugger 单击主菜单 info|help 来查看所有的使用文档。
使用中有何问题,请随时与 Borland Technical Support 联系。
测试 java 程序
Optimizeit Thread Debugger 是从运行程序的虚拟机中收集程序的覆盖信息的。
首先要运行一个 java 程序,您需要安装一个 java 虚拟机。 Optimizeit Thread Debugger 默认安装配置 JDK 1.4 or 1.4.1 。如果你想使用另外的虚拟机,可以查看 Optimizeit Thread Debugger 用户手册的如何增加新的虚拟机部分。从运行程序的虚拟机中收集程序的覆盖信息的。
首先要运行一个 java 程序,您需要安装一个 java 虚拟机。 Optimizeit Thread Debugger 默认安装配置 JDK 1.4 or 1.4.1 。如果你想使用另外的虚拟机,可以查看 Optimizeit Thread Debugger 用户手册的如何增加新的虚拟机部分。
启动应用程序
Optimizeit Thread Debugger可以测试任何类型的java程序,比如标准应用程序,应用小程序, servlets, JSPs, EJBs。本文所使用的测试程序包含在\doc\thread_debugger\quicktour目录下。所有的测试都是在Optimizeit Thread Debugger中进行的:
1. 打开 Optimizeit Thread Debugge。
2. 如果你是第一次打开,将会自动弹出编辑设置窗口。如果已经打开,可以从 file 菜单下选择 new setting ,调出编辑设置窗口。
3. 在程序类型框中选择 Application 。
4. 单击 "Program main class or Jar file" 右面的“ Browse… ”按钮。
5. 找到 \doc\thread_debugger\quicktour\ThreadDExample.class 文件,然后单击 open 。
6. Optimizeit Thread Debugger 会返回到设置窗口,并且自动带入程序的工作区和类路径。在 Source Path 框中,单击 change… 按钮。
7. 在 Source path chooser 窗口中,选择安装路径下的 \doc\thread_debugger\quicktour 目录;选中后单击窗口中的向下按钮把它加入到 source path 部分。
8. 单击 ok 增加到源文件中路径中。设置好后的对话框如下:

9. 选中 Open a console选项;这是非常重要的,因为这个程序需要输入一些命令来运行。
10. 单击 Start now按钮。
11. 编辑设置窗口会自动关闭, Optimizeit Thread Debugger会启动被测程序。
查看线程
Thread Debugger默认打开的是线程监视窗口。你也可以重新定义默认打开的窗口来查找程序在哪里挂起了或者是比较耗时:
1. 程序启动后 , Optimizeit Thread Debugger打开了一个DOS窗口,在DOS窗口中输入1,然后按回车键开始第一轮测试。Thread Debugger窗口中会显示当前运行的线程和他们各自的运行状态:

整个过程中窗口中会使用不同的颜色条来显示当前的线程运行状态 :
1. 运行状态 (绿色)表示线程正在运行并使用CPU 。
2. 堵塞状态 (黄色)表示该线程没有运行,因为在进入monitor时发生了阻塞。
3. 等待状态(红色)表示线程正在等待 moniter的通知,与其他线程共享资源。
4. 等待输入输出状态 (紫色)表示该线程的本地代码没有执行任何的过程。这常常是由于一个输入/输出操作操作引起的,但也有可能是其它情况导致给代码没有分配使用CPU而造成的。
注意: 当相应的线程状态应该被更新而未更新时, Optimizeit会在颜色条中显示一些点。当测试程序退出或没有收集到信息时,未知状态的区域也将以不同类型的图案来显示。
2. 先选中主线程 "main",然后单击I/O-Waiting View 切换到等待I/O监视窗口 :

3. 双击第三行,可以从源代码窗口中看到发生等待的那行代码。该程序基本上都使用了标准的输入来方法。关闭源码窗口并返回到线程活动监视窗口。
4. 在线程窗口中也可以选取某一段来分析该时间内的一些信息。返回到控制窗口并且输入 2,然后单击回车启动第二轮测试(使用了小的连接)。Thread Debugger显示了当前正在运行的线程的状态。你会看到在开始的某段时间内有10个线程在运行。
5. 在线程活动监视窗口,拖动滚动条到刚才的这段时间范围内。如果不想继续查看线程活动信息,可以取消选中窗口右下方的 Update continuously选项,这样窗口中的信息就不会随时间变化了。
6. 在这段时间内黄色区域表示相应的线程堵塞在一个 monitor中。在线程条上直接单击黄色条上任意一部分,并按住鼠标左键向右移动。这样就选中了该时间段:

选中时间段后:
1. 单击 Contention View 来分析为什么线程在进入monitors时会发生阻塞。该信息表示的仅是选择时间段的。
2. 单击 Waiting View 来研究线程在哪里等待monitors。同样,该信息也仅仅是所选时间范围的,所以应选择图中红色条部分的区域。
注意: 如果线程已经退出或者已不存在该线程名在窗口中就会以斜体显示。
[1] [2] [3] 下一页 |