JProbe Suite 4.0使用说明

一、产品介绍

JAVA PROGRAM

 

              CLIENT                              SERVER

               JProbe Profiler

                     JProbe Memory Debugger

 

                   JProbe Threadalyzer

TEST SUITE

 

       JProbe

Coverage

 

    JProbe Suite 共包含四种产品,其每种工具的功能特性如下:

l          JProbe Threadalyzer

²           在开发过程中,编码人员可以使用此工具检验已实现的编码的线程正确性;

²           在开发结束阶段,具有丰富的产品开发经验的开发人员可利用此工具确定并解决多线程编码中所隐藏的线程冲突问题。

l          JProbe Coverage

²           在开发过程中,编码人员可以使用此工具准确了解当前测试覆盖的编码范围及使用情况,从而减少代码冗余,提高编码覆盖率;

²           此外通过此工具,开发人员还可检验系统结构框架的完整性。

l          JProbe Memory Debugger

²           在开发过程中,开发人员可通过利用此工具检验被测编码是否存在内存缺陷;

l          JProbe Profiler

²           在开发结束阶段,性能分析人员可利用此工具确定引起编码性能瓶颈的根源;

综上所述,JProbe Suite所包含的四种产品从功能角度可分为两种,其中:JProbe Threadalyzer和JProbe Coverage可作为编码正确性检验工具在编码开发及测试阶段进行编码校验;而JProbe Memory Debugger和JProbe Profiler可作为编码性能调优工具在编码开发及测试阶段进行编码性能检验。

 

二、产品支持平台

Microsoft Windows

系统需求

Microsoft Windows 2000, Windows NT 4.0, or Windows XP Professional

Pentium II-class processor

128 MB RAM

70 MB free disk space

支持JVM

IBM Developer Kit for Windows, Java 2 Technology Edition, Version 1.3

IBM Developer Kit for Windows, Java 2 Technology Edition, Version 1.3.1 1

Sun Java 2 SDK, v 1.2.2 Windows Production Release

Sun Java 2 SDK, v 1.3.0 Windows Production Release in Classic 2 mode

Sun Java 2 SDK, Standard Edition, v 1.3.1 3 for Windows

Sun Java 2 SDK, Standard Edition, v 1.4 FCS for Windows

支持应用服务器

Allaire JRun 3.1

Apache JServ 1.1.2 with Apache’s HTTP Server 1.3.x and Sun JSDK 2.0

Apache Tomcat 3.2 or 4.0

BEA WebLogic Server 5.1.0, 6.0, 6.1, or 7.0

HP Application Server 8.0

IBM WebSphere 3.5 or 4.0

iPlanet Application Server (iAS) 6.0

Oracle Oracle9iAS Containers for J2EE 1.0.2.2 or 2.0 (beta)

Sun Solaris

系统需求

Solaris 2.6, 7, or 8, or SunOS 5.6, 5.7, or 5.8

UltraSparc processor

128 MB RAM

80 MB free disk space

支持JVM

Sun Java 2 SDK, v 1.2.2 Solaris Reference Implementation 1 plus required Solaris patches 2

Sun 3 Java 2 SDK, Standard Edition, v 1.3.1 4 for Solaris plus required Solaris patches 5

Sun Java 2 SDK, Standard Edition, v 1.4 FCS for Solaris plus required Solaris patches 6

支持应用服务器

Allaire JRun 3.1

Apache JServ 1.1.2 with Apache’s HTTP Server 1.3.x and Sun JSDK 2.0

Apache Tomcat 3.2 or 4.0

BEA WebLogic Server 5.1.0, 6.0, 6.1, or 7.0

HP Application Server 8.0

IBM WebSphere 3.5 or 4.0

iPlanet Application Server (iAS) 6.0

Oracle Oracle9iAS Containers for J2EE 1.0.2.2 or 2.0 (beta)

IBM AIX

系统需求

AIX 4.3 or 5.1 5L

PowerPC processor

128 MB RAM

100 MB free disk space

支持JVM

IBM Developer Kit for AIX, Java 2 Technology Edition, Version 1.2.2 plus required AIX patches 1

IBM Developer Kit for AIX, Java 2 Technology Edition, Version 1.3.0 plus required AIX patches 1

IBM Developer Kit for AIX, Java 2 Technology Edition, Version 1.3.1 2 plus required AIX patches 1

支持应用服务器

BEA WebLogic Server 5.1.0, 6.0, 6.1, or 7.0

IBM WebSphere 3.5.4 with PF 12 applied

HP-UX

系统需求

HP-UX 11.0 or 11i

128 MB RAM

100 MB free disk space

支持JVM

HP Java 2 SDK 1.2.2.08 1 or later in Classic 2 mode plus required patches 3

HP Java 2 SDK 1.3.0.01 1 or later in Classic 2 mode plus required patches 3

HP Java 2 SDK 1.3.1 in Classic 2 mode plus required patches 3

HP Java 2 SDK 1.3.1.01 plus required patches 3

支持应用服务器

BEA WebLogic Server 5.1.0, 6.0, 6.1, and 7.0

HP Application Server 8.0

Oracle Oracle9iAS Containers for J2EE 1.0.2.2 or 2.0 (beta)

Red Hat Linux

系统需求

Red Hat Linux 1 6.2 or 7.2 2

Intel ia32 (x86) architecture machine

64 MB RAM

55 MB free disk space

支持JVM

Blackdown JDK 1.2.2 FCS for Linux

Blackdown Java 2 SDK, Standard Edition, v.1.3.0

Blackdown Java 2 SDK, Standard Edition, v.1.3.1 FCS 3

IBM Developer Kit for Linux, Java 2 Technology Edition, Version 1.3 4

IBM Developer Kit for Linux, Java 2 Technology Edition, Version 1.3.1 5

Sun 6 Java 2 SDK, Standard Edition, v 1.3.1 7 for Linux

Sun Java 2 SDK, Standard Edition, v 1.4 FCS for Linux

支持应用服务器

Allaire JRun 3.1

Apache JServ 1.1.2 with Apache’s HTTP Server 1.3.x and Sun JSDK 2.0

Apache Tomcat 3.2 or 4.0

BEA WebLogic Server 5.1.0, 6.0, 6.1, or 7.0

HP Application Server 8.0

IBM WebSphere 3.5 or 4.0

Oracle Oracle9iAS Containers for J2EE 1.0.2.2 and 2.0 (beta)

 

三、产品具体使用说明

1、    JProbe Coverage

1.1、单机运行(不启动服务器)


 
     

步骤:

l          创建session

当开发人员在利用JProbe Coverage工具进行编码覆盖率校验之前必须先创建一个session,即在主菜单栏中选择“session”,并在下拉菜单栏中选择“new session”,此时屏幕显示如下对话框:


对话框详解如下:

²           Program Settings(即被测程序设置

ü          若被测系统为单机版,则选择“Standalone Application”,反之则选择“Using Application Server”;

ü          在“Main Class:”处,开发人员将被测编码的主类名称填写在此处,或通过“…”控键在测试机中选择被测编码主类;

ü          此外开发人员还可通过点击“More”控键,在弹出的对话框中进行被测编码的详细设置;

²           Data Collection Settings(即测试数据收集设置)

此设置指定要“覆盖”和要“排除”的包、类或方法,具体步骤如下:

ü          选择一行,点击旁边出现的“…”按钮,在弹出的对话框中选择一个jar包,右边出现一个类树,选择一个包或类或方法,点“确定”;

ü          当主窗口中出现了刚才选择的包、类或方法时,开发人员可在旁边选择“exclude(排除)”或“include(覆盖)”;

ü          通过以上方法可以指定多个要“覆盖”或要“排除”的包、类或方法;

²           其他设置

ü          Take Snapshot at Exit: 退出时取一个快照;

ü          Ignore abstract method: 忽略抽象方法;

ü          Start Recording at Program Start: 从程序开始时记录;

ü          Report Only Method-level Coverage: 只覆盖方法;

²           Runtimes Settings(运行设置)

ü          “View Runtime Data”选项

Not View: 在内存小的时候可选择此方法;

Local: 在本地console上显示;

Remootely: 在远程console上显示,运行时,服务器会一直等待指定的远程 console连接,直到连接成功后才继续运行。

ü          “Snapshot Directory”用于指定快照保存目录位置.

l          运行

当开发人员完成“Session”创建过程后,可通过以下两种方式执行:

²        在“Session”窗口选择“Run”,或在主界面工作栏中选择“|>”;

²        启动command(cmd),在Dos窗口下输入:

 jplauncher  -Djava.compiler=NONE -jp_input=e:\jprobe\try2.jpl

注: 使用第二种方式可以不用启动jpcoverage的主界面,这样可以节省内存,程序运行完后,快照会保存在jpl文件中指定的目录下。

l          分析快照

在JProbe Coverage主窗口中选择一个快照文件(*.jpc),对其进行分析,其主要步骤如下:

²       右键单击一个快照文件,在弹出的菜单中选择“”,打开一个独立的窗口,如下图:


²       在新的窗口中会显示出所有在前边的配置中选择“覆盖”的包、类或方法的情况。这是一个表(table)结构,分纵向和横向详细说明如下:

ü          横向: 缺省初始显示“包”的覆盖情况,这些包都是树状结构,可以打开以显示其下的类;类也都是树状结构,可以打开以显示其下的方法;

ü          纵向: 从左到右依次显示“覆盖的对象”、“被调用的次数”、“未覆盖的方法数”、“全部方法数”、“未覆盖到的代码行数”、“总代码行数”。

²        选择一个包,点开它,显示该包中的所有类;选择一个类,点开树,显示该类中所有非抽象方法;双击一个方法,会弹出一个对话框,让使用者指定java源文件的位置,当开发人员进行指定后,系统会关闭该对话框,弹出另外一个独立的窗口(如下图)显示java源文件的内容,当光标停在刚才选择的方法的开始处,系统自动用红色标明没有覆盖到的行;在新打开的窗口的右上端有一个下拉列表,可以在这里选择要看的方法。

 

²        查看未覆盖的行的情况:

ü          其他分支:在本快照中无法确定这些分支的覆盖情况,需要组织新的测试。如上图中的第30行;

ü          本分支内容错行: 这不是真正的未覆盖到,可以忽略不计。如上图中的第37、38行;

ü          本分支内容冗余行: 这才是真正的未覆盖行;

l          合并快照

一个业务可能有多个测试用例,每个测试用例覆盖一些分支,所有测试用例的集合要保证覆盖到所有的分支。每一个测试用例我们取一个快照,这些快照单个来看实际意义不大,只有合并在一起来分析意义才最大。而具体和并步骤如下:

²        在主窗口1的下拉菜单“SnapShot”中选择“Merge”,会弹出如下一个对话框:


 

²       对话框的左边显示所有可用的快照文件(*.jpc),开发者可选择要进行合并的快照到右边;

²       在对话框上端的“Output File”输入框中指定合并后的快照的名字;

²       点击”OK”, 合并完成;

²       对合并后的快照进行分析.

1.2、联机运行(启动服务器)

步骤:

l       创建Session

当开发人员在利用JProbe Coverage工具进行编码覆盖率校验之前必须先创建一个session,即在主菜单栏中选择“session”,并在下拉菜单栏中选择“new session”,此时屏幕显示如下对话框:


              对话框详解如下:

²         Program Settings(即被测程序设置

ü          选择“Using Application Server”,选择“weblogic 6.1”;

ü          点击“more”,在弹出的对话框中配置weblogic6.1;


²           Data Collection Settings(即测试数据收集设置)

同单机运行.

²           Runtimes Settings(运行设置)

同单机运行.

下图为已配置好的Session:


l       运行

²         启动wlserver6.1

有两种运行方法,任选其一:

ü          在Session窗口点“Run”,或在主界面工作条上点“|>”;

ü          启动command(cmd),在Dos窗口下输入:

                         jprun wls61

                         >input jpl file : e:\test\test1.jpl

²         局域网内其他PC,均可以启动iexplorer.exe,从前台开始运行:

ü          在Http Url中输入:http://tinawang:7001/ctais;

ü          打开待测业务的前台,完成一个测试用例;

ü        在JProbe Coverage的主窗口上点击“Take SnapShot”,抓取快照,保存快照;

ü          在适当的时候选择“清空数据”;

l              分析快照

同单机运行.

l              结束

在主窗口的工作条上选择“○”,关闭weblogic服务器。

 

2、    JProbe Memory Debugger

2.1、单机运行(不启动服务器)


      

步骤:

l          创建session

当开发人员在利用JProbe Memory Debugger工具进行编码内存缺陷校验之前必须先创建一个session,即在主菜单栏中选择“session”,并在下拉菜单栏中选择“new session”,此时屏幕显示如下对话框:

 

对话框详解如下:

²           Program Settings(即被测程序设置

ü          若被测系统为单机版,则选择“Standalone Application”,反之则选择“Using Application Server”;

ü          在“Main Class:”处,开发人员将被测编码的主类名称填写在此处,或通过“…”控键在测试机中选择被测编码主类;

ü          此外开发人员还可通过点击“More”控键,在弹出的对话框中进行被测编码的详细设置;

²           Data Collection Settings(即测试数据收集设置)

此设置指定要“检测”的包、类或方法,具体步骤如下:

ü          选择一行,点击旁边出现的“…”按钮,在弹出的对话框中选择一个jar包,右边出现一个类树,选择一个包或类或方法,点“确定”;

ü          当主窗口中出现了刚才选择的包、类或方法时,开发人员可在旁边选择“exclude(排除)”或“include(检测)”;

ü          通过以上方法可以指定多个要“检测”或要“排除”的包、类或方法;

²           Runtimes Settings(运行设置)

ü          “View Runtime Data”选项

Not View: 在内存小的时候可选择此方法;

Local: 在本地console上显示;

Remootely: 在远程console上显示,运行时,服务器会一直等待指定的远程 console连接,直到连接成功后才继续运行。

ü          “Snapshot Directory”用于指定快照保存目录位置.

 

l          运行

当开发人员完成“Session”创建过程后,可通过以下方式执行:

²        在“Session”窗口选择“Run”,或在主界面工作栏中选择“|>”;

²        启动command(cmd),在Dos窗口下输入:

 jplauncher  -Djava.compiler=NONE -jp_input=e:\jprobe\try2.jpl

注: 使用第二种方式可以不用启动JProbe Memory Debugger的主界面,这样可以节省内存,程序运行完后,快照会保存在jpl文件中指定的目录下。

l          检测

²           点击“Start Tracing Constructor Invocations.”图标;

²           点击“Request Garbage Collection.图标;

²           点击“Set Checkpoint.图标;

²           执行被测编码;

²           当编码执行结束后,点击“Request Garbage Collection.”图标;

²           点击“Take Heap Snapshot.”图标;

²           关闭被测编码执行界面。

l          了解测试编码内存使用情况

当Session执行结束后,开发人员可根据如下屏幕了解编码内存使用情况:


 

此屏幕主要分成一下两部分,开发人员可根据不同需求在这两部分中进行缺陷定义:

²           Heap Usage Chart部分


开发人员可利用以上图示从宏观的角度了解被测编码的内存使用情况,如图所示途中黄线左边为编码进行具体操作之前的内存情况,而黄线右边则显示了编码进行具体操作后的内存使用情况。通过此图开发人员可了解在编码运行的不同阶段系统内存的使用情况。

²           Instance Summary部分


通过此部分,开发人员可详细的了解被测编码的内存使用情况,其中具体列名称表示如下:

Package:表示被测编码中所包含的包具体名称;

Class:表示表中罗列的包中具体类名称;

Count:表示表中所罗列的类中包含的实例个数;

Memory:表示表中罗列的实例所占系统的内存情况;

Count Change:表示在断点设置后表中罗列的类中实例个数的变化;

Memory Change:表示在断点设置后表中罗列实例个数的变化所对应的占用的系统内存情况。

l          分析快照

在JProbe Memory Debugger主窗口中选择一个快照文件(*.jph),对其进行分析,其主要步骤如下:

²       右键单击一个快照文件,在弹出的菜单中选择“Open in Heap Brower”,如下图:


此窗口中会显示出所有在前边的配置中选择“检测”的包、类或方法的情况。

²        选择一个包,点击右键,在显示的菜单中选择“Instance Detail View”菜单,系统会弹出一个对话框:


   点击“Calculate”系统会将Instance所占系统内存情况显示在状态栏中。

²       选择一个具体的Instance,点击右键,在显示的菜单中选择“Allocate At Source”菜单,系统会弹出一个对话框:


此对话框显示java源文件的内容。

l          比较快照

开发人员可利用JProbe Memory Debugger工具将编码优化前和后的内存使用情况以快照文件的形式保存起来,并进行比较,其具体步骤如下:

²        在JProbe Memory Debugger主界面中选择要进行比较的快照文件,点击右键,在下拉菜单中选择“Compare”,系统会弹出如下一个对话框:


在“Baseline Snapshot”出选择要进行比较的基线后,点击“OK”;

²       系统会将两个快照文件进行比较,并将差异结果显示在如下对话框中:


2.2、联机运行(启动服务器)

        JProbe Memory Debugger联机运行的具体配置参照JProbe Coverage,其具体操作与单机相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JProbe Suite ——提高开发效率,改善JAVA应用性能 * 轻松发现和消除性能瓶颈 * 查找问题代码 * 节省后续硬件及开发投入 * 增加应用发布信心 * 与开发过程集成,改善应用性能 JProbe Suite是一种能节省开发时间、降低开发费用、改善Java应用运行速度及和扩展能力的强大工具套件,在全球各地拥有大量用户。通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe先进的数据收集功能,可以实现自动化的性能信息采集,缩短应用开发和优化周期。 JProbe在简单易用的集成化套件中,为servlet、JSP和EJB应用代码提供了强大的Java性能分析、内存纠错、代码覆盖及线程分析功能。 JProbe Profiler JProbe Profiler * JProbe Profiler JProbe Profiler内置了Call Graph调用关系图和高级数据采集机制,可实现方法和代码行级的高精度性能诊断。 主要功能: 方法和行级分析:确定方法的热点,并以逐行方式挖掘分析性能状态。 计算运行时间或CPU时间占用:跟踪用户体验或计算瓶颈; 9种指标:多角度确定问题根源; 高级过滤和触发器:确定要诊断分析的关键代码区域; 快照对比技术:预测代码修改对性能的影响; 高级打印和输出功能:支持PDF、文本、HTML或Excel兼容的CSV格式。 JProbe Memory Debugger JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存泄漏:通过易用的两步分析,跟踪运行时的内存增长; Memory Instance Calculator:计算内存泄露量; 智能化内存分析:通过Leak Doctor发现可能的内存泄露源; Aggregate Memory Footprint:理解对象创建的实际开销; Reference Graph 和 Instance Detail:跟踪内存使用和对象引用; 垃圾回收分析:检测过多的短期对象和垃圾收集详情; Snapshot 比对:确定代码改变对内存使用的影响。 JProbe Coverage *JProbe Coverage 帮助开发人员查找未执行代码,精确计算已执行代码,简化对测试工作可靠性和精确度的评估。 主要功能: Coverage Browser 和 Source Views:迅速确定未测试代码或死代码; Conditional Coverage Analysis: 分析特定条件所覆盖的代码范围,包括含有多个条件语句的代码行; Filter Catch Blocks: 更精确的覆盖范围报告; 批处理模式: 可通过批处理方式运行,简化与夜间编译/测试系统的整合; 报表功能: 以XML、纯文本、CSV或者HTML格式输出覆盖范围报告,以实现个性化的分析; Snapshot合并: 对多次运行中的覆盖范围数据进行合并; 可与下列应用服务器整合 o BEA WebLogic Server o IBM WebSphere Application Server o Sun Java System Application Server o Apache Tomcat o Oracle9i Application Server o JBoss o Macromedia JRun ........ 可与下列开发环境整合 o IBM WebSphere Studio Application Developer (WSAD) o Eclipse o Borland JBuilder o IntelliJ IDEA o Sun Java Studio o JBoss o Oracle Jdeveloper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值