【发布时间】:2012-08-17 08:33:37
【问题描述】:
我有一个问题(崩溃转储),我的关键部分被破坏,但在检查 LockCount 后,我注意到有 1 个线程在等待它(似乎线程已被唤醒,但尚未进入,因为锁定状态未锁定)。
我想看看哪个线程被唤醒了。我知道关键部分有一个等待线程的队列,如果我可以转储这个队列/列表结构,我应该能够回答我的问题,有什么想法可以做吗?
【问题讨论】:
-
您应该尝试获取所有线程的堆栈跟踪。也许这个页面会有所帮助? msdn.microsoft.com/en-us/library/dd554943.aspx
-
不确定我是否理解 - 是什么在破坏 CS?
-
@MartinJames 抱歉不清楚。我的一个对象的析构函数正在删除关键部分(这没关系)。但是有一个线程已被唤醒以在其他地方获取 CS。由于线程刚刚被唤醒,未进入CS !cs -s 地址说明没有线程拥有该CS。
标签: c++ synchronization windbg critical-section