windbg 死锁问题分析

本文探讨临界区出现死锁的原因及排查方法,包括忘记释放锁、使用嵌套锁等情形,并提供解决建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对临界区的死锁分析,比较简单   !cs xxxxx ,然后通过owningthread 来找到对应的线程,并查看调用栈。

 

原因大致有以下几种:

1、owningthread  忘了释放锁,  建议使用 autolock

2、线程中使用了嵌套锁

3、owningthread 被动的原因无法释放锁,比如

1)、使用开源库,异常时直接ExitThread。

2)、使用了 __try __except 捕获了异常, 导致锁未释放

3)、使用了开源库,抛出异常,未调用autolock的析构函数

 

具体可参考个人网站: http://91dengdeng.cn/?cat=1 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡在床板下_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值