Please enable JavaScript to view this site.

Thread Validator Help

 

If you are:

 

an admin level user

using Microsoft compilers

on a modern OS

already know that you create debug info in your debug and release product

 

...then you're more than likely good to go and dive in!

 

Otherwise, we recommend reading these topics from the Overview section before starting:

 

What do you need to run Thread Validator?

Supported Compilers

User Permissions

 

 

Testing on the Example Program

 

You can test drive the capabilities of Thread Validator by launching the example program supplied with Thread Validator - nativeExample.exe.

 

The example program can be used in conjunction with the Thread Validator tutorials.

 

 

Ensure you have debugging information

 

Your application needs to be compiled to produce debugging information and linked to make that debugging information available.

 

We provide some details for enabling debugging information with Visual Studio, C++ Builder, Delphi, MinGW, and other compilers.

 

If you have no PDB debugging information but you do have a Microsoft format MAP file available, it must contain line number information by using the /MAPINFO:LINES linker directive.

 

 

Launching

 

To start your program click on the launch icon on the Session toolbar.

 

toolbar-launch

 

What you see next depends on the user interface mode (wizard or dialog style).

 

 

The Launch Wizard...

 

If you've just installed the software you will be shown the launch wizard:

 

Click Browse... to choose a program to launch instructionStep Next instructionStep Next instructionStep Next instructionStep Start Application...

 

launch-wizard

 

 

...or the Launch Dialog

 

If you have switched to Dialog mode you will be shown the launch dialog:

 

Click Browse... to choose a program to launch instructionStep Launch

 

launch-dialog

 

 

During launch

 

Thread Validator will start and inject the stub into the target program. Progress during this phase is displayed in the title header of the main window.

 

main-window-title-bar

 

Once correctly installed in the target program, the stub will establish communications with Thread Validator and data can be collected and viewed until the target program exits.

 

When a deadlock or a bad lock strategy is detected, the data relating to this on each tab is displayed in the relevant colours.

 

Most tabs will update at intervals (unless set otherwise) to show data collected so far.

 

 

After exit - examining the output

 

When the target program exits, Thread Validator stops collecting more data but keeps all the session data active for you to explore. The data collection icons on the session toolbar are disabled, and the launch icons are enabled again.

 

Most tabs are automatically updated to reflect the final data, and the other tabs also continue to let you explore the data until the session is closed.

 

 

Ending the session

 

Even though the target program has exited, the session is still active and can be examined or saved until the session is closed:

 

menu File menu instructionStep Close Session
 

You can have more than one session open at a time.