When you run a native-compiled (unmanaged) program, Purify instruments the program and begins validating every read, write, allocation, and freeing of memory. Purify can also collect coverage data for the run.
While you exercise the program, Purify displays an Error View for the run and reports detailed diagnostics about the run-time errors it detects. You can expand messages in the Error View to show details such as the file name and line number, if available, where the errors occurred.
When you exit the program, Purify displays memory leak messages. You can specify additional settings to have Purify report memory in use and handles in use at exit. If you collected coverage data, the data is available in coverage tabs in the Purify Data Browser window.
To learn about |
See |
The basic, step-by-step procedure for finding runtime errors in native-compiled Visual C/C++ programs |
|
Collecting error and coverage analysis data for native-compiled Visual C/C++ programs in specific environments |
|
Tools and techniques for finding the information you need in Purify error data, and in Purify coverage data |
Notes:
§ To run an instrumented program outside of Purify, you must include the Purify cache directory in your Path environment variable.
§ You can also instrument and run a program from the command line, or from Visual Studio using the Run Program dialog.
§ Purify supports programs compiled to native code using the Visual C++ 7, 8 and 9 compilers, but it is incompatible with the compiler stack frame checking mechanism (enabled via the /RTC* family of compiler options). For information on the recommended settings for building native-code executables in Visual Studio .NET, Visual Studio 2005 and Studio 2008, click .
§ Rational Runtime Analysis tools use Object Code Insertion (OCI) technology to instrument the binary code generated by native-code compilers. By default, OCI-instrumented files are saved and run in a cache directory. If the source is unchanged, instrumented files are reused between runs of an application.
(C) Copyright IBM Corporation 1992, 2010.