Windows中有监控同步对象(互斥量、事件、信号量)的工具吗?
-
03-07-2019 - |
题
在Windows中,有没有工具可以监控进程同步对象的状态?IE。
- 事件/互斥体:发出信号或未发出信号
- 信号量:数数
更好的是,记录哪个线程做了什么,例如。“线程 #5421 信号事件 - testevt”
解决方案
处理 用法:句柄-s==> Print count of each type of handle open.
[编辑]:
如何使用 Process Explorer 监视进程同步对象的状态。
打开流程资源管理器
- 单击进程部分中的 exe(例如:我的应用程序.exe)
- 点击
Show Lower Pane
(或按Ctrl+L
)。这将显示所有同步对象。(例如:我的活动) - 右键单击同步 对象(例如:myEvent),然后单击 性能。。。在上下文菜单中。
这带来了同步对象的详细信息。在里面
Details
选项卡,你可以看到Event Info
(如果同步对象是事件):提供有关 状态(是否向同步对象发出信号)Semaphore info
(如果同步对象是信号量):提供信号量的计数。
其他提示
看看英特尔的 ThreadChecker 和 Parallel Studio。他们的大多数工具都位于 Visual Studio 之上。
http://software.intel.com/en-us/intel-vtune/
线程验证器 做你所描述的事情。
监视线程、锁的状态、单个线程对象。比英特尔的线程检查器快得多,但详细程度不同。
Windbg 可能很有帮助,但您必须学习如何使用它。
不隶属于 StackOverflow