Is there a tool to monitor synchronisation objects (mutex, events, semaphores) in Windows?
Handle usage: handle -s ==> Print count of each type of handle open.
[EDIT]:
How to monitor the status of process synchronization objects using Process Explorer.
Open Process Explorer
- Click on your exe in the process section (for ex: MyApp.exe)
- Click
Show Lower Pane
(or pressCtrl+L
). This will show all synchronization objects. (for ex: myEvent) - Right click on synchronizationobject (for ex: myEvent) and clickProperties... in context menu.
This brings the details of the synchronization object.In the
Details
tab, you can seeEvent Info
(if synch object is event): Gives information about thestate (whether the synchronization object is signaled)Semaphore info
(if synch object is semaphore):Provides the count of the semaphore.
Take a look at Intel's ThreadChecker and Parallel Studio. Most of their tools sit on top of Visual Studio.
http://software.intel.com/en-us/intel-vtune/
Thread Validator does what you are describing.
Monitor threads, status of locks, individual thread objects. Much faster than Intel's Thread Checker, but different level of detail.