In Windows, is there a tool to monitor the status of process synchronisation objects? ie.
- event/mutex : signaled or not signaled
- semaphore : count
Better yet, to log which thread did what, eg. "thread #5421 Signal Event - testevt"
In Windows, is there a tool to monitor the status of process synchronisation objects? ie.
Better yet, to log which thread did what, eg. "thread #5421 Signal Event - testevt"
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/
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
Show Lower Pane Press
. This will show all synchronization objects. ( For ex: myEvent)This brings the details of the synchronization object .
In the Details
tab, you can see
Event Info
(if synch object is event): Gives information about the
state (whether the synchronization
object is signaled)
Semaphore info
(if synch object is Semaphore):
Provides the Count of the semaphore.
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.