Analyse threading problems quickly and easily

Thread Validator - Objects

The Objects view shows statistics describing the different types of synchronization
object and the number of objects of that type currently in use.

Each entry displays the synchronization object type, it's handle, the associated kernel address, any flags associated with the handle and the handle's name.

Knowing the handle's type and name can be very useful. For example if you know that you are experiencing long delays on a WaitForSingleObject() call and you know the handle value from a Thread Validator display
you can lookup that value on this display. You then find that the handle is, for example, a File and that it's file path is \Device\NamedPipe\OutputFile_8260. You can tell from the file name that it's a Named Pipe.
Looking in your code for all code that uses named pipes you find where you are creating OutputFile_8260 and where it is being used. You now have enough information to continue investigating the problem with WaitForSingleObject().