一例MSVC2013中recursive_mutex引起崩溃的原因分析
复现方法:CUI程序,DLL中的全局对象在析构时调用recursive_mutex::lock()函数,运行时通过Ctrl+C触发。原因分析:DLL被释放时,会自动析构所有的全局对象。由于Ctrl+C的实现为系统创建一个远程线程调用dllmain并析构全局对象,而这个远程线程缺少一些必要的初始化过程,造成recursive_mutex::lock()函数崩溃。以下是分析时的
原创
2015-07-25 11:17:21 ·
1184 阅读 ·
0 评论