Absolutely. There is a help section on working with NT Services.
Not using CreateProcess
The Inject and Wait for Application to Start functionality use CreateRemoteThread to inject into an application.
For the reasons below, injection using CreateRemoteThread does not always work.
Common reasons for injection failure
•A missing DLL in your application
•The target application is a .NET application or .NET service
•A missing DLL in Thread Validator
•The application may have started and finished before the DLL could be injected
•The application security settings do not allow process handles to be opened
•The application is a service and is running with different privileges than Thread Validator
Some features such as the Callstack tab can use thread names to make things a bit more intuitive.
Use the SetThreadDescription() Win32 API (or the methods described in the next section).
Earlier versions of Windows
From within your application you can provide a name for use by a debugger or debugging tool by using the Win32 RaiseException() API.
Add the function below to your application. This is based on an example from Microsoft and there are other examples available on the web; some specify a buffer size of 8 characters and one terminator, others specify no strict buffer size limit.
After adding this function declaration you can call it from inside the thread procedure of any executing thread to name.
To name a thread from outside of the thread procedure pass the thread id instead of -1.
The example application shipped with Thread Validator demonstrates how to use nameThread. See nativeExample.cpp.
To clear Thread Validator's in-memory symbol cache, delete all sessions first:
•Managers Menu Session Manager Delete All Close
Then flush the cache:
•Settings Menu Edit Settings General File Cache / Subst Drives click Flush Cache button OK
Flush Cache disabled? Delete all the sessions first.
See also: Clearing coverage cache.
We have tried to add as many features to Thread Validator that we thought would be useful to our users.
In fact, every feature in Thread Validator has been used to solve problems and bugs for clients who consult us, and in our own business, so we know the features we have are useful.
However, maybe we overlooked a feature that you would find very useful.
We'll happily consider most ideas for new features to Thread Validator. But no Quake, FlightSim or Flappy Bird Easter eggs though, sorry!
Please contact us to let us know your thoughts.