Please enable JavaScript to view this site.

Thread Validator Help

Navigation: The User Interface

First Run Configuration

Scroll Prev Top Next More


First run configuration


For new users of Thread Validator, a configuration wizard appears the first time you run the application.


The wizard collects a few details about environment, tools, update requirements (for non-evaluation users) and ends with a short video tutorial.





User interface mode


After the introductory page, the wizard presents options for configuring the how the launch, inject and wait dialogs present information to you.





Wizard mode instructionStep guides you through the tasks in a linear fashion

Dialog mode instructionStep all options are contained in a single dialog
       Experienced users will find this mode quicker to use


These settings can be changed at any time via the User Interface Mode option on the Settings menu.



Symbol search path environment variables


After the introductory page, the wizard presents options for using environment variables for symbol search paths when finding PDB symbols.


You don't have to choose any of these options as Thread Validator will try to automatically determine symbol path information.




These environment settings can be changed at any time via the Configure Symbol Handling Environment Variables on the Symbol Server page of the Settings Dialog.



Symbol lookup


The next page of the wizard allows you to specify which IDE, Compiler or Linker you're using.


This is important as it affects how symbol lookup is performed. Visual Studio has various quirks in its history of symbol handling and we have to work around that.


The default settings are shown below, although the Visual Studio version may vary.




These lookup settings can be changed at any time on the Symbol Lookup page of the Settings Dialog.



Hook Insertion


The next page of the wizard allows you to specify which synchronization functions will be monitored.





Two check boxes control which groups of hooks are inserted into your application.


Synchronization functions instructionStep inserts hooks for tracking synchronization objects into the target program


If enabled, the default behaviour is that critical section enter and leave events will be tracked. Additional functions can then be specified below.


Functions working with waitable handles instructionStep hooks (below) for tracking functions that create, manage and destroy waitable handles will be inserted into the target program


A few additional functions (Sleep, and critical section related functions) are also monitored.


Specify which groups of functions should have data collected from them using the individual check boxes. (See note about memory below).


Any collected data can be viewed on the Active Objects and Analysis tabs.


Groups of items

Functions that...

Critical Section

initialize, modify and destroy


create, open and destroy


create, open and destroy


create, open and destroy

Register Wait

register and unregister

Waitable Timer

create, open and destroy

Job Object

create, open and destroy


create, open and destroy


create, open and destroy


create, open and destroy files (of any type)

Duplicate Handle

miscellaneous handle functions

Change Notification

create, open and destroy file change notifications

Timer Queue

create, open and destroy timer queues and timer queue timers


Other options:



Sleep and SleepEx
For many applications, enabling Sleep will generate a lot of data,

as various threads sleep from time to time.


Collect NULL and Invalid Handles

information about failed handle creation
When collecting waitable handles, you may also want to collect information about failed handle creation using this option.



Select/Deselect All instructionStep switches all the above functions allocating waitable handles - i.e. not Sleep and invalid handles


note It's recommended that options in this section are only enabled if you need to monitor the data. If you subsequently find that memory consumption is very high, consider changing the settings here, or on the Historical Data tab.


These hook insertion settings can be changed at any time on the Hook Insertion page of the Settings Dialog.



Software update credentials


The software updates page of the wizard is only shown to non-evaluation users.


You can configure your software update credentials within the application and where updates are downloaded to.




You can test the login details to ensure they are valid:


Test login details instructionStep click to check your entered details are valid (requires an internet connection)


Valid details will be confirmed:




Invalid details may mean you entered credentials for another application in the Validator suite, or they could have been entered incorrectly.



You should have received the correct credentials when you purchased Thread Validator.


If you experience problems, check with your system administrator or contact Software Verify.


These update credentials can be changed at any time from the Software Updates menu.



Software update download location


It’s important to be able to specify where software updates are downloaded to because of potential security risks that may arise from allowing the TMP directory to be executable.


We use the TMP directory as a default, but if you're not comfortable with that you can specify your preferred download directory. This allows you to set permissions for TMP to deny execute privileges if you wish.


An invalid directory, e.g. one that does not exist, will show text in red and will not be accepted until a valid folder is entered.


Reset instructionStep reverts the download location to the user's TMP directory


The default location is c:\users\[username]\AppData\Local\Temp


The download location can be changed at any time from the Software Updates menu.



Video overview of application


The final page of the wizard presents a short video overview of Thread Validator.


note The video has audio





More help is available via the Tutorials tab and the Help menu.


The video is also available on the product website. Visit and find the product link for Thread Validator.


Finish instructionStep closes the First Run Configuration dialog leaving the application ready to use