0 items - $0.00

The fastest way to monitor billions of memory allocations

Download Eval

Single user: $449

C++ Memory Validator C++ Memory Validator CD Picture

Memory Validator - Memory

The memory allocation view displays the memory and handles allocated, informational messages and error messages.

Native allocations are shown on one sub-tab and .Net allocations on another sub-tab.

Error and memory leak status is also displayed.

This picture shows a collapsed trace of some leaked native memory allocations. A double delete error is also shown (red).

Collapsed view of memory allocations

This picture shows an expanded trace of some leaked native memory allocations. A double delete error is also shown (red).

The line in green (the colour is configurable) shows where the allocation occurred. Double click on any line to enter the editor. Right click on any line to get the context menu.

Expanded view of memory allocations

You can drill down to the source code and edit the source code in a context sensitive colourised editor or in Microsoft® Visual Studio® or an editor of your choice.

The depth of stack traces is customizable, as is the colour of each type of message. Entire stack traces can be captured if that is desired.

The data is shown in a tree structure, so that a source code fragment can be displayed without the need for an editor. If the code needs to be edited, the code can be edited in a context sensitive colourised, folding editor (this editor is configurable), or in Microsoft® Visual Studio®. The source code fragment in the tree is configurable and can include the entire calling function if you desire.


A wide variety of memory allocators and handle allocators can result in their allocations being shown on this display.

To keep this manageable, options are available to control the display of each group of allocators.

In addition to that powerful filters are available that will let you filter objects based on callstack, DLL, filename, object type and so on.


Watermarks allow you to place markers in the allocation sequence, before and after an event (for example: opening a database, doing some work, then closing the database).

The watermarks can then be used to isolate a range of data for display. Examples:

  • Show me everything before open-database.
  • Show me everything between the open-database and close-database.
  • Show me everything after close-database.

Tag trackers

Tag trackers allow you to associate a tag with all allocation events that happen during the lifetime of the tag. An example use of tag trackers would be in a game, where certain object types would be associated with warriors and other objects may be associated with weaponary.

Go to Top ^^