Thread Validator attaches to a running process by injecting the stub into the process so it can start collecting data.
Choose one of these methods of starting the injection:
 File menu 
 Inject... 
 shows the Attach to Running Process wizard or dialog below 
Or click on the Inject icon on the session toolbar.

Or use the shortcut
  Inject into running application
The following applies only if you did not start Thread Validator in administrator mode.
When choosing the inject method described in this topic, a restart of Thread Validator with administrator privileges will be required to proceed.

If your process is a service, Thread Validator won't be able to attach to it.
Services can't have process handles opened by third party applications, even with Administrator privileges.
In order to work with services, you can use the NT service API and monitor the service
You may see this warning dialog when trying to inject into a service:

There are two interface modes used while starting a program
•Wizard mode guides you through the tasks in a linear fashion 
 
•Dialog mode has all options contained in a single dialog
 
All the options are the same - just in slightly different places
In this section we'll cover the Wizard mode first and the Dialog mode later.
The first page of the wizard shows a list of running system and user processes.

The list shows the following information:
•ID 
 The process ID 
 
•Admin 
 may show a 
symbol to indicate a requirement for administrator privileges in order to run the program. 
 
This requirement is automatically detected from the manifest
 for the process. 
 
•Process 
 The process executable name 
 
Choose a process before continuing:
•Next >> 
 move to the next page of the wizard   
 
The button will show the 
symbol if you have selected a process which requires elevated privileges to run.
•System processes / Services / User processes  
 show any or all of services and system or user processes in the list  
•Full path 
 shows the full path to the process executable in the list 
 
•Image Name 
 shows the short program name without path 
•Refresh 
 update the list with currently running processes 
Clicking on the headers of the list will sort them by ID or by name using the full name or short name, depending on what's displayed.
The second page controls when to start collecting information.

Depending on your application, and what you want to test, you may want to start collecting data as soon as injection happens, or do it later.
If your program has a complex start-up procedure, initialising lots of data, it may be much faster not to collect data until the program has launched.
•Collect data from application 
 if it's the startup Thread you want to monitor, then obviously start collecting data from launch 
 

See the section on controlling data collection for how to turn collection on and off after launch. 
The second page also confirms at the top which process you have selected to inject into, and prompts you to attach:
•Attach... 
 injects Thread Validator into the specified process, showing progress status   
 
The button will show the 
symbol if you have selected a process which requires elevated privileges to run.
In the general questions see Why might Inject or Launch fail? for troubleshooting launch problems. 
In Dialog mode, all the settings are in one dialog but which still looks similar to the first page of the wizard above.
The option of when to start collecting data, and whether to collect function and line times is at the top, as is the Attach... button itself.
