Memory Validator Tutorial
This document is intended to augment the information in the Memory Validator Help file. If you have not read the help file we encourage you to do so. Memory Validator is a powerful and complex product, reading the help manual will help you use Memory Validator more efficiently.
User Interface Modes
Memory Validator has three user interface modes. The user interface mode can be changed by selecting the User Interface Mode menu option from the Configure menu.
- Novice
The Novice user interface presents all launch, inject, wait for application and settings dialogs as wizards. The settings wizard for Novice mode has a restricted set of options when compared to Intermediate or Expert modes. - Intermediate
The Intermediate user interface presents the launch, inject and wait for application dialogs as wizards. The settings dialog is presented as a dialog with multiple settings groups and is highly configurable. - Expert
The Expert user interface presents the launch, inject and wait for application dialogs single page dialogs. The settings dialog is presented as a dialog with multiple settings groups and is highly configurable.
For Visual Basic Users
The following tutorial explains how to use Memory Validator with Visual Basic.
Example C++ Application
The example application is mvExample.exe in the mvExample folder in the installation folder.
The following tutorials are available. More tutorials will be made available in response to customer feedback.
Leak Detection
These tutorials concentrate on typical memory leak and handle leak problems, and how to analyse the problem using Memory Validator.
- How to detect memory leaks using Memory Validator.
- How to detect handle leaks using Memory Validator.
- Detecting memory leaks whilst your application is running.
- How to detect COM Object Reference Count Errors using Memory Validator.
Memory Corruption and Application Crashes
These tutorials concentrate on typical data corruption problems, and how to analyse the problem using Memory Validator.
- How to detect memory corruption (part 1) using Memory Validator.
- How to detect memory corruption (part 2) using Memory Validator.
- How to detect memory corruption (alternate method) using Memory Validator.
- How to detect using deleted objects using Memory Validator.
- How to detect uninitialised data using Memory Validator.
- How to detect broken message maps using Memory Validator.
Filters
These tutorials concentrate on restricting the display of data that has already been collected by using filters. Filters can be used to remove data from the display, or to only display the data selected by the filter. Filters can work with callstacks, filenames, directory names, DLL names, datatypes, handle types, allocation sizes, etc. Filters are flexible and very powerful.
- Filtering using a callstack.
- Filtering using specific file and line number.
- Filtering using a filename.
- Filtering using a directory name.
- Filtering using a DLL name.
- Filtering by object type.
- Filtering by handle type.
- Filtering by allocation size.
Monitoring data from one or more DLLs
These tutorials concentrate on collecting displaying data from one or more specific DLLs. This is useful if you are developing addins for a 3rd party application (for example: an ARX addin for AutoCAD), or DLLs that are loaded into a server (for example: a DLL loaded into IIS).
- How to restrict the display to only a part of your application's execution.
- How to restrict the display to only a particular DLL using filters.
- How to collect data only a from particular DLL.
Miscellaneous
These tutorials describe miscellaneous problems and how to analyse them using Memory Validator.
- How to track memory allocations of a specific size using Memory Validator.
- How to view GDI objects using Memory Validator.
- Using the Hotspot view.
- How to use Memory Validator with a server application.
- How to monitor 3rd party memory allocation APIs using Memory Validator.
- Using Memory Validator with Visual Basic.
- Preventing a DLL from loading.
Feedback
If you would like a tutorial on how to use Memory Validator to perform a given task, we will be happy to provide a tutorial, just let us know what topics you need the tutorial to cover. Send your suggestions to support@softwareverify.com.

