【发布时间】:2009-04-29 07:38:40
【问题描述】:
在Windows中,有没有工具可以监控进程同步对象的状态?即。
- 事件/互斥体:有信号或没有信号
- 信号量:计数
更好的是,记录哪个线程做了什么,例如。 “线程 #5421 信号事件 - testevt”
【问题讨论】:
标签: c++ windows visual-studio synchronization
在Windows中,有没有工具可以监控进程同步对象的状态?即。
更好的是,记录哪个线程做了什么,例如。 “线程 #5421 信号事件 - testevt”
【问题讨论】:
标签: c++ windows visual-studio synchronization
Handle 用法:句柄 -s ==> Print count of each type of handle open.
[编辑]:
如何使用 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/
【讨论】:
Thread Validator 执行您所描述的操作。
监控线程、锁状态、单个线程对象。比 Intel 的 Thread Checker 快得多,但详细程度不同。
【讨论】:
Windbg 可能会有所帮助,但您必须学习如何使用它。
【讨论】: