2010-04-01 75 views
0

我在应用程序中有一个folderBrowseDialog框。它已经工作了一个月。最近,当我从VS 2008运行项目时,我点击一个打开框的按钮,运行ShowDialog()命令。浏览器框出现一秒钟,然后我得到“Windows遇到问题框”。FolderDialog框仅在调试模式下崩溃VSD2008

现在,我感兴趣的是,如果我编译项目,无论是在调试还是释放配置文件,并导航到exe,一切运行良好。

有没有人有过这个问题?

如果有帮助,我可以发布错误报告的详细信息。

迈克

回答

0

这是一个shell的对话框,你会得到注入到你的过程中,外壳扩展。你可能有一个糟糕的导致崩溃。您可以看到它们正在加载Project + Properties,Debug选项卡,勾选启用非托管代码调试。当你打开对话框时,注意输出窗口,你会看到每个DLL被加载的一行。

SysInterals的AutoRuns实用程序是卸载故障解决程序的不二之选,它是禁用外壳扩展的好方法。

+1

有趣的是,只需启用代码调试即可停止发生问题。第一次加载dll是 加载'C:\ WINDOWS \ system32 \ shfolder.dll' 卸载'C:\ WINDOWS \ system32 \ shfolder.dll' 加载'C:\ Program Files \ Microsoft Office \ Office12 \ GrooveSystemServices.dll' 加载'C:\ WINDOWS \ system32 \ urlmon.dll' 加载'C:\ WINDOWS \ system32 \ msxml3.dll' 未加载'C:\ Program Files \ Microsoft Office \ Office12 \ MSOHEVI.DLL' 后续调用只是 加载'C:\ WINDOWS \ system32 \ shfolder.dll' 禁用调试器再次导致崩溃。 – Mike 2010-04-01 17:17:23

相关问题