gpt4 book ai didi

c++ - CFileDialog 延迟崩溃

转载 作者:可可西里 更新时间:2023-11-01 10:07:43 36 4
gpt4 key购买 nike

我在基于对话框的 MFC 应用程序中添加了一个“打开文件”对话框。现在,在通过按下“打开”或“取消”按钮关闭打开的文件对话框后整整一分钟(!),我的应用程序崩溃了。当它崩溃时,输出中会发生以下情况:

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();

什么会导致这样的事情?

我该如何调试它?

最佳答案

我在 Windows 7 x64 中遇到了这个确切问题,并且通过在所有尚未选择的 Win32 异常上启用断点(在 VS2015 异常选项卡中),我能够将它缩小到一个已知问题使用 Microsoft 的可选修补程序解决了 fundisc.dll:https://support.microsoft.com/en-us/kb/2494427

它还解决了我 PC 上文件资源管理器窗口看似随机崩溃的问题。所有这些都是由该修补程序修复的网络 COM 对象中的一些死锁引起的。

关于c++ - CFileDialog 延迟崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388182/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com