Please enable JavaScript to view this site.

Memory Validator Help

 

Searching for memory

 

Using the Find Memory dialog below, you can search the data in some of the tab views for different types of memory allocations.

 

Searches can be:

 

based on allocation location such as in a function, file or module
 

based on the allocated object such as size, type or address
 

based on other identifiers like tag id, sequence id, or allocation type

 

 

The find memory dialog

 

To show the Find Memory dialog, choose the menu option below:

 

menu Query menu instructionStep choose Search... instructionStep displays the Find Memory dialog

 

Or use the search icon on the Query Toolbar.

 

toolbar-search-memory

 

The Find Memory dialog has many search options, each of which can be switched on and off.

 

search-memory

 

There is a different instance of the dialog for each of the following tabs:

 

The Memory tab

The Hotspots tab

The Analysis tab

The Pages tab

 

Note that the Find Memory dialog can remain open while you inspect the results.

 

 

Search Criteria

 

Each of the desired search options needs to be enabled and criteria specified:

 

To find objects...

enable the option and choose...

of type

a data type from the drop down list

in function

a function from the list

allocated in file

a file from the list

allocated in directory

a directory from the list

in module

an .exe, DLL or other module

in heap

a heap ID

with allocation id

the allocation request id

of allocation type

opne of alloc, realloc or free from the dropdown list

with tag tracker

a tag tracker id

by thread id

a thread id

 

Objects between...

 

addresses

type in the values or choose the current minimum or maximum from the drop down list

sizes

 

pages

 

sequence ids

 

Free text search

 

event description

a string that is a subset of an event description.
* wildcard is supported.

 

For options where there is a set choice of values, the lists show all the options that Memory Validator knows about at the time the dialog is shown.

 

Where a range is specified, you can enter the same value for the beginning and end of the range.

 

note If you want to search by object type, note that Memory Validator only fetches type information for each memory location when it is requested. This improves performance, but can mean the drop down list doesn't have all the datatypes in yet. If you don't see a datatype you want, type it in instead, and the list will be updated when possible.

 

 

Resetting fields

 

To start over and create a new set of search criteria, there's a handy reset option:

 

Reset instructionStep clears all the fields and enables all options as seen in the picture above

 

 

Searching callstacks

 

By default, callstacks are not searched, but if you want to search all stack frames you can.

 

Search all of each callstack instructionStep if selected all frames of each callstack are searched as well as the top frame

 

 

Exclusive or inclusive searches

 

There are two ways of searching:

 

Exclusive instructionStep search results satisfy all the enabled search criteria

 

Inclusive instructionStep search results satisfy at least one of the enabled search criteria

 

As a general rule, exclusive searches return a tightly focused set of results, while inclusive searches return a broader set of results.

 

For those who prefer logic notation, exclusive searches use AND logic, while inclusive use OR logic.

 

 

Performing the search

 

Once search criteria are enabled, and search mode selected, results can be found

 

Find... instructionStep matching results in the corresponding tab are highlighted

 

The colour of highlighted objects is set on the colours tab of the Global Settings dialog.

 

The first time a search with a new search criteria is performed the first item in the search results is navigated to and selected.

 

Subsequent searches without changing the search criteria will navigate to the next search result, or if shift is held, the previous search result.

 

b_ctrl b_f is the equivalent of clicking the Find... button.

 

Clear instructionStep all previous search results in the corresponding tab are cleared

 

 

Example

 

In the picture above, the dialog shows a search setup to find:

 

objects of size 4
 

objects of type CtestParsing_c.

 

The results of that search are shown in the Memory tab below, first as an exclusive search and then an inclusive one.

 

Example results: Exclusive results, showing only the 4 byte CtestParsing_c object allocation:

 

search-results-ex

 

 

Example results: Inclusive results, now showing the 4 byte CString objects also selected.

 

search-results-in