C++ memory leak detector - Memory Validator
Memory Validator is a memory leak and memory error detection software tool for use by software developers, software quality assurance testers and customer support staff.
- Fortran 95
- Visual Basic 6
- 32 bit applications.
- 32 bit services.
- Native x86 code.
- 64 bit applications.
- 64 bit services.
- Native x64 code.
- Native code that is part of mixed mode .Net applications.
- Windows 8
- Windows 7
- Windows Vista
- Windows XP
- Windows 2000
- Windows NT 4.0
- Windows Server 2003
- Windows Server 2008
- Windows Server 2012
3 Minute Video
Find memory leaks quickly and easily with Memory Validator.
Memory Validator provides many displays to provide you with more insight into the data you have collected.
Allocated memory and callstacks display
Memory allocation hotspot tree
Memory usage analysis query
Memory usage and fragmentation analysis
Virtual memory usage statistics
Memory allocation coverage statistics
Diagnostic information about the application
Use Memory Validator to:
- Detect memory leaks and handle leaks.
- Find native memory leaks in mixed-mode .Net applications.
- Find double deletes, double frees and related memory errors.
- Find uninitialized memory in C++ objects.
- Run regression tests to find memory leaks in your overnight builds.
- Monitor billions of allocations in your application.
Easy to use
To use Memory Validator all you need is debugging information for your application and Memory Validator can get to work. You do not need to modify your software, recompile or relink your software to use Memory Validator.
- Launch your application with Memory Validator.
Memory Validator will launch and attach to your application in seconds.
- Run your application as normal.
- Close your application.
- Examine the memory leaks that Memory Validator finds in your software.
Easy to read data displays show you all the errors in the order they occurred. The displays can be filtered to show you only the information that you want to work with.
Drill down to the data in the displays by expanding an entry in the display to display information about the memory leak: What type of object was allocated, what size, where (address, filename, line number<), thread id, allocation timestamp, lifetime and sequence id. Also displayed is a comprehensive callstack showing each class and method name, filename and line number. Each entry can be expanded to display the source code for that line.
Memory Validator can be configured to collect all data or just the data you need. Powerful filters for collecting data and for displaying collected data give you maximum flexibility and control over how much CPU time is spent and how much memory is used collecting data allowing you to choose how much effort is put into a given task.
Memory Validator provides two APIs for controlling Memory Validator from your application. One API is for direct control of Memory Validator, the other API is for using Memory Validator with services for the case when Memory Validator cannot inject into a service because of Windows NT security privileges preventing the injection (typically for services running at Administrator or system level).
The default options of Memory Validator concentrate on C and C++ memory leaks. It is easy to add many other memory types (GlobalAlloc, LocalAlloc, Heap32, etc...) and handle tracking to the list of data items monitored.
Additional capabilities include uninitialised data tracking, detection of use of deleted C++ objects, memory corruption detection, broken message map usage.
Memory Validator provides powerful HTML and XML reporting capabilities, allowing you to produce overnight leak reports if you use Memory Validator as part of regression testing strategy.
Unlike some of our competitors that struggle to handle even one million allocations, some of our customers are processing billions of allocations with Memory Validator.
Memory Validator works with compilers from:
|Microsoft||C++, C, Visual Basic 6|
|Intel||C++, C, Fortran 95|
|Borland||C++, C, Delphi|
|Salford Software||Fortran 95|
All 64 bit (x64) Windows operating systems are supported.
All 32 bit Windows operating systems from Windows 7 to Windows NT 4.0 are supported.
Memory Validator will also run on Windows 64 bit operating systems in the Wow64 compatibility layer.
For more details, please consult the compatibility feature list
Memory Validator works with applications and services, both native and mixed-mode .Net.
As well as the traditional interactive memory leak debugging role that Memory Validator performs, Memory Validator can be used to compare two recorded sessions to show the difference between the sessions. This allows you to determine if changes to your code have resulted in improvements (less memory leaks, less errors) or regressions (more memory leaks, more errors).
Memory Validator also allows you to automate this process by launching Memory Validator from the command line. A full range of command line options allow you to perform unattended runs of Memory Validator, complete with HTML export and XML export, to facilitate regression testing as part of your overnight builds.