摘要: 原调试debugwindbg死锁deadlock 前言最近我们的程序在退出时会卡住,调查发现是在卸载dll时死锁了。大概流程是这样的:我们的dll在加载的时候会创建一个工作线程,在卸载的时候,会设置退出标志并等待之前开启的工作线程结束。为了研究这个经典的死锁问题,写了一个模拟程序,用到的dump文件及示例代码参考附件。{% note info %}这也是几年前在项目中遇到的一个问题,我对之前的... 阅读全文
posted @ 2020-01-06 21:59 BCN 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 原调试debugwindbg死锁deadlock 前言项目里的一个升级程序偶尔会死锁,查看dump后发现是死在了ShellExecuteExW里。经验少,不知道为什么,于是在高端调试论坛里发帖求助,链接如下http://advdbg.org/forums/6520/ShowPost.aspx根据张银奎老师的描述可知,应该是拥有关键段的线程意外结束了。仔细检查项目中的代码,发现程序中有使用Ter... 阅读全文
posted @ 2020-01-06 21:54 BCN 阅读(799) 评论(0) 推荐(0) 编辑