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.
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 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.
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.
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.
•Invert All toggle the enabled/disabled state for each thread
•Enable All checks all threads, meaning that no thread filtering will occur
•Disable All 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.
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 if selected, sets the filter to hide matching threads from display, rather than displaying it
•Show data on this thread 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.
Filters that show data can be more computationally expensive, so use them with caution!
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.