Purify Data Sheet
Identifies execution errors and memory leaks within your application everywhere
they occur.
Enables developers to eliminate run-time problems before they reach the
end-user.
Improves productivity and reduces training time by presenting all information in
an easy to use and understand interface.
For today's complex software development projects, run-time or memory access
errors are some of the most difficult problems to solve. Reading or writing past
the boundary of an array, leaking memory unpredictably, using uninitialized
memory with random contents; these potentially disastrous errors may take weeks
to find and fix. Purify solves these problem by combining the most comprehensive
run-time error checking available with an easy to use graphical user interface.
To achieve comprehensive checking Purify uses Object Code Insertion (OCI)
technology to intercept memory accesses by inserting additional instructions in
the object code before every Load and Store operation. The major advantage of
OCI is completeness: all of the code, including thirdparty and shared libraries
can be checked in this manner. Even hand-optimized assembly code can be checked.
OCI helps Purify find more types of errors in more areas of your application
than any other similar tool.
This completeness means bugs in application code that manifest themselves in
vendor or third-party libraries are detected.
Just point Purify to your already built executable and Purify's automatic
checking begins. A Purify'd program is a standard executable that can be fork'd,
exec'd or run under a debugger.
Purify offers both interactive and batch reporting of error messages to make
analysis as convenient as possible. An intuitive
Graphical User Interface (GUI) allows the user to
browse error messages more efficiently than ever before. The hierarchical, or
outline display, provides detailed information for specific error messages
enabling the user to focus on the most critical errors first. Access to
application source or development processes such as
Run, Make and
Debug are only a mouse click away. This instant
access makes correcting application errors simple and easy.
- Intuitive Graphical User Interface
- outline view for efficient error message browsing
- color support for identifying critical errors quickly
- point-and-click access to source
- GUI access to run-time options and suppressions
- Detects run-time errors without source
- Detects errors everywhere:
- 3rd party libraries
- shared libraries
- application specific C code
- application specific C++ code
- assembly code C library
- systems calls
- Errors identified include:
- uninitialized local variables
- uninitialized malloc'd memory
- using freed memory
- overwriting array bounds
- over-reading array bounds
- memory leaks
- file descriptor leaks
- stack overflow errors
- stack frame boundary errors
- Detailed reporting methodology, including stack trace and source line number
- Identifies and reports errors in multi-threaded applications
- Instant error detection at bug origin
- Support for custom memory managers
- Support for other common debugging tools
- Easily installed and mastered
- Multi-platform
- Improves overall application quality
- Minimally changes current environment
- Ships more reliable code
- Catches errors early, when they are cost effective to fix
- Improves product performance
- Reduces support and upgrade costs
See what Purify customers have to say.
Purify supports:
- SGI workstations running IRIX 5.2 and IRIX 5.3
For information on running Purify on IRIX 6.2 please contact info@pure.com
Download an evaluation copy and give Purify a spin!