README.HTML
Copyright © 1997-2001 Rational Software Corporation. All rights reserved.
Rational, the Rational logo, PureCoverage, PowerCov, Rational Visual Test, Rational Robot, and
ClearQuest are trademarks or registered trademarks of Rational Software
Corporation in the United States and in other countries.
Visual C++, Visual Basic, Windows NT, Developer Studio, Visual Studio, .Net and Microsoft are
trademarks or registered trademarks of the Microsoft Corporation. All other
names are used for identification purposes only and are trademarks or
registered trademarks of their respective companies.
U.S. Registered Patent Nos. 5,193,180 and 5,335,344 and 5,535,329. Licensed
under Sun Microsystems Inc.'s U.S. Pat. No. 5,404,499. Other U.S. and foreign
patents pending.
README for PureCoverage 2001A.04.00 for Windows
TABLE OF CONTENTS
-
What's new in PureCoverage?
-
Requirements
-
Installing PureCoverage
-
Notes
-
Known problems
-
Contacting Technical Support
Back to Top
1. What's new in PureCoverage?
New in PureCoverage 2001A.04.00:
-
PureCoverage automatically detects all installed Java Virtual Machines that are identified in the
Windows registry. You can now choose from a list of the detected JVMs in the JVM tab
in the Settings > Preferences dialog.
-
PureCoverage now recognizes the JAVA_HOME user environment variable. If PureCoverage was unable to detect
the JVM you want to use for memory profiling, set JAVA_HOME to point to the JVM home
directory and PureCoverage will default to it.
-
Support has been added for "managed" applications in the Microsoft .Net platform.
PureCoverage supports applications running on .Net Beta 1. To collect coverage
data for these applications, select the "Managed Code" radio button in the "Run Program"
dialog.
-
PureCoverage is integrated into the VS.Net shell. The PureCoverage menu item appears as usual
in the VS.Net IDE, however the toolbar is hidden.
-
Support has been added for reading and displaying coverage trace data formatted in XML.
See XMLTrcReader.html in the PureCoverage installation directory for details.
-
The PureCoverage Interpreter Interface is now publicly available. This set of APIs can be used
by third party language vendors for gathering coverage data from their applications and displaying
the results in the PureCoverage GUI. See CProf.html in the PureCoverage installation directory for details.
-
Sun JDK1.3 support has been enhanced to eliminate the manual steps described in the notes
for PureCoverage 2001.03.00.
New in PureCoverage 2001.03.00:
-
Sun's JDK release 1.3 is now supported. However, because it was released so
late in the PureCoverage Beta cycle there are changes from the pre-release
versions
that must be dealt with manually for now. To use 1.3 you need to do the
following:
-
Update the Java.policy file in the %JAVA_ROOT%\jre\security folder to include
the following (assumes d:/tools/java/jdk1.3 is %JAVA_ROOT%):
grant
{
permission java.lang.RuntimePermission "loadLibrary.PureJVMPI";
permission java.io.FilePermission "d:/tools/java/jdk1.3/jre/lib/ext/x86/PureJVMPI.dll", "read";
};
-
Copy PureJVMPI.dll into %JAVA_ROOT%\jre\lib\ext\x86 folder
-
Make sure this directory is included in the path in front of the PureCoverage
product directory. You can also remove PureJVMPI.DLL from the product directory
and place it into the x86 folder (see p.2).
-
Make sure that Rational.jar is copied into %JAVA_ROOT%\jre\ext folder and you
have this folder in your CLASSPATH environment variable.
-
Start your applet. Use cstart or set
_JAVA_OPTIONS=-XrunPureJVMPI:Coverage
New in PureCoverage 2000.02.10:
New in PureCoverage 6.5:
-
Support has been added for comparing the PureCoverage data of two separate runs
of an executable.
-
Improved compatibility with IIS and other services.
-
Default instrumentation behavior has changed for modules which have no
associated debug information. These modules are now instrumented in "exclude"
mode
by default. This improves both instrumentation and run-time performance.
-
PureCoverage is integrated with Rational Robot 7.1, a Rational functional
testing tool. You can use PureCoverage together with Robot scripts to collect
coverage data for an application under test. From the "Tools > GUI
Playback Options > Diagnostic Tools" tab, select "Rational
PureCoverage".
See your Rational Robot documentation for more details.
New in PureCoverage 6.0.1:
-
The following problems have been corrected:
-
When PureCoverage was run under Rational SQA Robot and Rational Test Factory it
was possible, in certain circumstances, for PureCoverage to use excessive
processor time while handling redundant messages from the Application Under
Test (AUT). This resulted in SQA Robot timing out while waiting for the AUT to
respond.
-
When PureCoverage was run from the Visual C++ toolbar, some instrumented
applications would fail if PureCoverage was installed in the default location.
-
PureCoverage did not install correctly on French Windows NT.
New in PureCoverage 6.0:
-
Support for Visual C++ 6.0 and Visual Basic 6.0. Note that applying changes to
a running instrumented program, using "Edit & Continue" in VC6 is
not supported.
-
Support for collecting coverage data from VB6 programs run directly within the
VB6 shell. The new "Engage PureCoverage Integration" tool in VB6 allows you to
collect coverage data from programs without first making an executable. This
method also helps focus the coverage data on your VB code, avoiding the
complexity of compiled executables.
-
You can now select a function, procedure, or method with low coverage and
automatically submit it as a coverage regression to ClearQuest, Rational's
change request management tool. Simply highlight the function, procedure, or
method name and select "Submit ClearQuest Defect" from the shortcut menu.
PureCoverage uses an initialization file, Schema_coverage.ini, to map coverage
data and other information to the relevant fields of the ClearQuest defect
submit form. This mapping is based on the ClearQuest sample schema
'Default_App'. If you have edited the sample schema or have created a custom
schema, you must modify the schema_coverage.ini file to ensure that data is
correctly entered in the submit form. To modify the .ini file, follow the
instructions included in Schema_coverage.ini, located in the PureCoverage
product directory.
-
PureCoverage is integrated with Visual Test 6.0, Rational's functional testing
tool. You can collect coverage data from applications run with Visual Test
scripts and send the data back to the script for immediate logging and
analysis. Use the "Run Visual Test Scripts with PureCoverage" tool in the
PureCoverage toolbar in Developer Studio or Visual Test, or add "coverage" to
the "Run" command in your test scripts. See your Visual Test documentation for
more details.
-
Visual Studio integration. At install time, you can choose to install
PureCoverage's addin for Visual Studio 6.0. The addin allows you to display
PureCoverage's windows within Visual Studio. To enable this feature, select
PureCoverage > Settings > Embed PureCoverage Views
from within Visual Studio.
-
Visual Basic integration. At install time, you can now choose to install the
PureCoverage addin for Visual Basic. You will find a new toolbar in Visual
Basic that lets you directly control PureCoverage. Note that this addin
requires Visual Basic 5 Service Pack 3 or later; older Visual Basic 5
installations will display a message at startup to disable the addin dll. Your
current Visual Basic Service Pack level is displayed in the Visual Basic 5
splash screen. Service Packs can be freely downloaded at
http://msdn.microsoft.com/vstudio/sp/.
-
Java. The Java virtual machine distributed with Visual Studio 6.0 beta-2
(Msjava.dll version 2613) does not work with PureCoverage. This is corrected in
later versions. The latest release of the virtual machine and SDK is available
at http://www.microsoft.com/java/download.htm.
-
PureCoverage now supports merging different executables. This is useful when
attempting to determine the coverage of DLLs that are used by multiple programs.
Back to Top
2. Requirements
-
PC-compatible system, Pentium processor
-
Microsoft Windows NT 4.0 with Service Pack 3 or greater, or Microsoft Windows 2000
-
32 Mb RAM required, 64Mb RAM recommended
-
Approximately 25Mb free disk space
-
150Mb minimum swap space recommended
Notes:
-
You will need additional disk space to accommodate a growing cache directory as
you run PureCoverage on more programs.
-
PureCoverage does not support checked builds of Windows.
-
PureCoverage for Windows supports:
Architecture:
|
Win32 programs only
|
Compilers:
|
Microsoft Visual C++ (6.0)
Microsoft Visual Basic (6.0sp3)
|
Interpreters:
|
Microsoft Visual Basic (6.0sp3)
Microsoft virtual machine for Java.
The version for Msjava.dll should be 2828 or later. The
latest release of the virtual machine and SDK is available at:
http://www.microsoft.com/java/download.htm
Sun JVM 1.2.2 and higher
When running on the Pentium 4 with JDK 1.2.2, build 007 is required. Previous versions
of 1.2.2 will not run on Pentium 4.
|
Debuggers:
|
Microsoft Visual C++, WinDBG, NTSD
|
Debug formats:
|
COFF, CV4
|
Debug files:
|
Debug data can be placed in .exe, .pdb, or .dbg files. PureCoverage can also use
.map files, if available.
|
Back to Top
3. Installing PureCoverage
To install PureCoverage:
-
Verify that your swap space is set to at least 150Mb, the minimum recommended.
-
Run Setup.exe and follow the onscreen instructions.
Notes:
-
You are installing a licensed Rational Software product. The product you have
purchased includes a node-locked, named-user or floating
license. Please refer to the instructions in the Startup License Key
Certificate (included in the product package) for installing a startup license
key to get started using the product.
For detailed information about Rational Software licensing and how to work with
node-locked, named-user and floating licenses, please refer to the Rational License Key
Administrator online Help (Licadmin.hlp), available by clicking the Help button
in the Rational License Key Administrator.
-
The Rational Solutions for Windows install disk includes numerous Rational
Software products. However, the startup license key you received can be used to
run only the product you purchased. If you would like to install and evaluate
other Rational Software products that are available on the install disk but
that you have not purchased, please contact Rational Software.
-
If you have licensing questions and problems and you can't find the solution in
the License Key Administrator online Help, please contact Licensing Support.
For contact information, look up "contacting" in the Rational License Key
Administrator online Help index.
-
PureCoverage must be installed after Visual C++, Visual Basic, and Visual Test
in order for it to install an integration with these tools. If you installed one
of these tools after PureCoverage, simply re-install PureCoverage to get the
integration.
-
PureCoverage can be installed as part of Rational Suite DevelopmentStudio. When
you do a custom install of Rational Suite DevelopmentStudio, and you choose to
install only PureCoverage, Rational Software Setup installs additional
components that are not used by PureCoverage. For example, SQL Anywhere.
-
To uninstall a previous copy of PureCoverage, double-click the Add/Remove
Programs icon in the Control Panel and uninstall PureCoverage. The uninstall
program removes all of the files associated with the PureCoverage installation.
If you do not do an uninstall, but instead install a new version of PureCoverage
over the previous version, be sure to delete all files in the PureCoverage cache
directory first. Your application and its modules must be reinstrumented after
installation to operate correctly with the current release of PureCoverage.
Back to Top
4. Notes
-
To monitor Visual C++ or Visual Basic controls, or Java applets, launched from
Microsoft Internet Explorer 4.0 with the Active Desktop "shell integration"
installed, you must specify the "-new" argument. You can specify "-new" in
Command-line arguments in the Run Program dialog or from the command line. For
example, to monitor controls or Java applets from the command line, type
respectively:
coverage iexplore.exe -new # to profile a control
cstart iexplore.exe -new # to profile an applet
The "-new" argument causes a new Iexplore.exe process to start and be
instrumented (for Visual C++ and Visual Basic 5 only) before monitoring your
control or applet. Without this argument, the control or applet is run by the
current desktop explorer and no coverage data is collected.
-
For Visual Basic programmers: When monitoring native-code programs, keep in
mind that the Microsoft Visual Basic 5.0 native-code compiler currently does
not:
-
Encode any information about a procedure's arguments. Consequently,
PureCoverage displays the argument list as (...) in all cases.
-
Retain project and sub-project information about procedures. Consequently, if
you have a main project called MyVBProject and a sub-project called VBHello,
and it defines a procedure called HiWorld, PureCoverage displays the name as
VBHello.HiWorld(...), rather than as MyVBProject.VBHello.HiWorld().
-
When you add PureCoverage to the Visual J++ 1.1 Tools menu and you open the
class file as a project, you must specify $(ProjectName) $(ProjectArgs) in the
Arguments list.
-
The HTML Files (*.htm, *.html) option in the Select Program dialog does not
apply to JavaScript, ActiveX components, VBScript, and HTML code. This option
applies only to Java applets.
-
Online help is available by selecting Help > Help Topics or
Help > Help Index. To access context-sensitive help for a command
or a window or dialog control, click the help icon on the toolbar or in the
dialog, and then click the control. You can also press F1 to display help for
the control.
Back to Top
5. Known problems
Interaction with other applications
Instrumenting programs
-
PureCoverage does not currently support .NET native-compiled code.
-
When you copy a DLL that you want to instrument into your working directory,
also
copy any related .pdb, .dbg, or .map files. This ensures that PureCoverage's
function and procedure names are as informative as possible.
-
Modules built from assembly code might not instrument correctly by default if
they do not follow standard calling conventions. For assistance in such cases,
contact Rational Software's Technical Support.
-
PureCoverage appends the instrumentation log to the
<exename>_pure.log
file in the same directory as the program. If an error occurs, the log
information can also be in the
<exename>_pure.tmp
file.
-
PureCoverage does not reinstrument files in the following situations:
-
A .pdb file is supplied after a .dll or .exe file has been instrumented. When
you rerun the program, PureCoverage does not reinstrument the .pdb file.
-
You swap two .dlls that have the same name and the same creation time, such as
a debug version and a production version. The "new" .dll is not instrumented,
because an identically-named file with the same timestamp already exists in the
PureCoverage cache directory.
-
Instrumented .dll and .exe files that are located outside of the PureCoverage
cache directory are not deleted when you install a new version of PureCoverage.
When you run a program that uses one of those files, PureCoverage uses the
existing instrumented version.
In each case, you can work around the problem by deleting the instrumented
files to force reinstrumentation. [20035]
-
For information about creating a cache directory shared among multiple
developers, contact Rational Software's Technical Support. [21788]
-
PureCoverage does not support Universal Naming Convention (UNC) names for the
cache directory setting. Instead, map a network drive to specify a cache
directory on a remote machine. [23872]
Running programs
-
For Visual Basic source files last edited with VB5.0sp1 or earlier (including
the VB5 samples), a change in the VB compiler means that annotations in the
annotated source file can be offset by as many as 7 lines. If this occurs, edit
and save the file with a more recent version of VB5 or VB6 and rebuild your
project.
-
For Visual Basic 6.0 projects and p-code, PureCoverage does not list the source
files in which no procedures are executed (i.e. those with 0% procedure
coverage). These files are listed for VB6 native-compiled executables.
-
In Visual Basic 6.0, multi-line statements using the underscore '_' line
continuation character cause annotations in the annotated source file to be
offset by a number of lines equal to the number of continuations present.
-
If you receive the following message: "Shared memory exhausted. Saving data and
disabling collection.", your application might require more shared memory than
PureCoverage has allocated by default. You can increase the size of this shared
memory by using the option "-runtime-data-size=" (default value is 0x04000000
(64MB)). This can be set in Additional options in the Settings for "exename"
dialog (executable settings).
-
PureCoverage appends the run-time log to the file
<exename>_pure.log
in the same directory as the program.
-
On occasion, PureCoverage might experience an internal error. These errors are
displayed in the Messages tab in the Run Summary window as PureCoverage
internal errors. Please follow the onscreen instructions and submit any
PureCoverage internal errors you receive to Rational Software's Technical
Support.
Back to Top
6. Contacting Technical Support
If you have a technical problem and you can't find the solution
in online Help, you can contact Technical Support.
North America:
Rational Software
18880 Homestead Road
Cupertino, CA 95014
voice: (800)433-5444
fax: (408)863-4001
email: support@rational.com
Europe and Middle East:
Rational Software
Beechavenue 30
1119 PV Schiphol-Rijk
The Netherlands
voice: +31 (0)20-454-6200
fax: +31 (0)20-454-6201
email: support@europe.rational.com
Japan:
Nihon Rational Software, SAISEI Ikedayama,
Bldg. 2F, 5-10-25 Higashi-Gotanda,
Shinagawa-ku, Tokyo 141-0022,
Japan
voice: +81 03-5423-3611
fax: +81 03-5423-3622
email: support@japan.rational.com
Australia and Asia Pacific:
Rational Software Corporation Pty Ltd,
Zenith Centre, Level 13,
821 Pacific Highway,
Chatswood NSW 2067,
Australia
voice: +61 02-9419-0111
fax: +61 02-9419-0123
email: support@apac.rational.com
If you email, include the license information that appears
in the "Help > About Rational PureCoverage" dialog
along with the PureCoverage log file.
Before you call:
-
Note the sequence of events that led to the problem
and any program messages or error view messages displayed.
-
Have your license key and customer number ready and,
if possible, the product running on your computer.
Note:
-
If you have licensing questions and problems and you can't
find the solution in the License Key Administrator online Help,
please contact Licensing Support. For contact information,
look up "contacting" in the Rational License Key Administrator
online Help index.
Back to Top