在Windows中,是否有一个工具来监视进程同步对象的状态? 即。
更好的是,logging哪个线程做了什么,例如。 “线程#5421信号事件 – testevt”
内存验证器
Process Explorer
处理用法:handle -s ==> Print count of each type of handle open.
[编辑] :
如何使用Process Explorer监视进程同步对象的状态。
打开Process Explorer
Show Lower Pane (或按Ctrl+L )。 这将显示所有同步对象。 (例如:myEvent) 这带来了同步对象的细节。 在“ Details选项卡中,您可以看到
Event Info (如果同步对象是事件):提供关于状态的信息(是否同步对象被发送信号)
Semaphore info (如果同步对象是信号量):提供信号量的计数。
看看英特尔的ThreadChecker和Parallel Studio。 他们的大部分工具都位于Visual Studio之上。
http://software.intel.com/en-us/intel-vtune/
线程验证器执行你所描述的。
监视线程,锁的状态,单个线程对象。 比Intel的Thread Checker快得多,但细节层次不同。
Windbg可以是有用的,但你必须学习如何使用它。