Please enable JavaScript to view this site.

Memory Validator Help

 

Thread filters

 

The thread level is the highest level at which filtering happens.

 

Thread filtering simply allows you to exclude data according to the thread id.

 

Filtering by thread id is only going to be useful for multi-threaded applications.

 

Whether you realise it or not, many applications have threads that you may want to exclude from your data as being beyond your control.

 

note The thread filter dialog below also serves the dual purpose of manually naming threads. The names are used elsewhere in the display of data and selection of threads.

 

 

The thread filter dialog

 

menu Managers menu instructionStep Thread Filter... instructionStep shows the Filter Memory by Thread Id dialog

 

The dialog is very simple - it just has a list of all the threads in the target program, with check boxes to enable and disable the display of data from each thread id.

 

The dialog has three sections. A thread selector at the top, a thread grid in the middle, and at the bottom a control that allows you to choose how the thread filter shows or hides threads.

 

 

Thread Selector

 

The thread selector lists are threads in the target application plus two special values: All Threads and Specific Threads.

 

When a thread is selected that thread is the thread that the thread filter works on.

 

When All Threads is selected, the thread filter works on all threads.

 

When Specific Threads is selected, the thread filter works on the enabled threads in the thread grid.

 

 

Thread grid

 

If the thread selector is set to Specific Threads the grid and the controls next to it are enabled.

 

The Specific Threads option allows you to choose one or more threads to filter, giving you more flexibility that the other options on the thread selector.

 

The thread grid is very simple - it just has a list of all the threads in the target program, with check boxes to enable and disable the display of data from each thread id.

 

 

thread-filter-dialog

 

 

Invert All instructionStep toggle the enabled/disabled state for each thread

 

Enable All instructionStep checks all threads, meaning that no thread filtering will occur

 

Disable All instructionStep unchecks all threads, making it easier to enable just one or two of many threads

 

Sorting

 

To sort the list on id or name, click one of the headers.

 

 

Showing (or hiding) filtered results

 

The filters can be set to hide data that matches any of the filters, or to show data that matches any of the filters. The default is to hide data that matches any of the filters.

 

Hide data on this thread instructionStep if selected, sets the filter to hide matching threads from display, rather than displaying it

 

Show data on this thread instructionStep if selected, sets the filter to only display matching threads to display, rather than hiding it

 

Filters that show data are perfect for showing very focused and targeted results.

 

note Filters that show data can be more computationally expensive, so use them with caution!

 

 

Thread names

 

If a thread has been named using the Win32 RaiseException method, the Win32 SetThreadDescription(), or using mvSetThreadName() its name is shown in the list. See the link below for more details.

 

For threads not explicitly named by the above methods, Memory Validator provides automatically generated names based on the name of the function passed to CreateThread(), _beginthread(), or _beginthreadex(). If you want to give a thread a name here by double clicking on the name column and entering a name for the thread. Click outside the box or press return to complete the entry.

 

Names of threads will be used where relevant in other parts of the application. Eg thread selection in the Types and Sizes tabs.

 

seeAlsoHow can I give a name to a thread from my code?