我已经在基于对话框的MFC应用程序中添加了一个"Open file“对话框。现在,正好一分钟(!)打开的文件对话框按下open或Cancel按钮关闭后,我的应用程序崩溃。当它崩溃时,输出中会发生以下情况:
1)一堆Windows线程正在退出;
2)抛出一堆COM异常( 0x80010108“被调用的对象已与其客户端断开连接”和0x800401FD“对象未连接到服务器”);
3)最后,出现未处理的异常: 0xC0000005:访问冲突读取位置0xfeeefeee,调用堆栈指向ole32.dll。
说我困惑是相当轻描淡写的。调用该对话框的代码如下:
CFileDialog fileDlg( TRUE, _T(".txt"), NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,
_T("Text file (*.txt)|*.txt||"), this);
INT_PTR res = fileDlg.DoModal();是什么导致了这样的事情?
我怎么调试它呢?
发布于 2016-09-28 01:48:03
我在Windows7 x64中遇到了这个问题,通过在所有尚未选择的Win32异常上启用断点(在VS2015 exceptions选项卡中),我能够将范围缩小到fundisc.dll的一个已知问题,该问题已通过微软的一个可选修复程序解决:https://support.microsoft.com/en-us/kb/2494427
它还解决了我的电脑上的文件资源管理器窗口崩溃的问题,似乎在随机的时间。所有这些都是由网络COM对象中的某些死锁引起的,该对象是由该修补程序修复的。
https://stackoverflow.com/questions/12388182
复制相似问题