当我调用OpenFileDialog的ShowDialog方法时,vshost32.exe已停止工作



我有一个c#应用程序,我正在做最后的测试。

但是现在,一个一直有效的函数现在不再工作了!

我有一个按钮,当我点击它我想浏览文件,我看到"打开文件"窗口,半秒后,我得到了一个未捕获的visual studio错误:

vshost32.exe已停止工作:

很抱歉,但错误发生在法语本地化的计算机上:

Signature du problème :
  Nom d’événement de problème:  APPCRASH
  Nom de l’application: TOM.vshost.exe
  Version de l’application: 10.0.30319.1
  Horodatage de l’application:  4ba2084b
  Nom du module par défaut: ntdll.dll
  Version du module par défaut: 6.1.7600.16695
  Horodateur du module par défaut:  4cc7ab44
  Code de l’exception:  c0000008
  Décalage de l’exception:  0004631f
  Version du système:   6.1.7600.2.0.0.256.48
  Identificateur de paramètres régionaux:   4108
  Information supplémentaire n° 1:  ffb6
  Information supplémentaire n° 2:  ffb61531feaa1f65f528a2694a510c22
  Information supplémentaire n° 3:  b220
  Information supplémentaire n° 4:  b2205da238309b0a025a25162a3a18f3
我的代码是:
OpenFileDialog ofd = new OpenFileDialog {Filter = Filters};
if (ofd.ShowDialog() != true) {
    return;
}

当我在ofd.ShowDialog时它崩溃了。

这是代码相关的问题吗?

你知道怎么调试吗?或者甚至如何调试这个??

激活"要调试的非托管代码"时,我得到了这个:

"First-chance exception at 0x77cd631f in TOM.exe: 0xC0000008: An invalid handle was specified."

堆栈跟踪,如果它可以帮助:

>   ntdll.dll!77cd631f()    
    [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
    ntdll.dll!77d1792d()    
    ntdll.dll!77ce343b()    
    ntdll.dll!77ce2d80()    
    ole32.dll!776b4102()    
    ole32.dll!776b411e()    
    ole32.dll!7767e505()    
    SearchFolder.dll!1046b49d()     
    SearchFolder.dll!1046b267()     
    shell32.dll!76281cb7()  
    shell32.dll!761701b6()  
    shell32.dll!761991fd()  
    shell32.dll!761d61ee()  
    shell32.dll!761d6159()  
    System.ni.dll!524c4ed4()    
    shlwapi.dll!77b6b6cf()  
    ntdll.dll!77cbb428()    
    ntdll.dll!77cbe6f9()    
    kernel32.dll!77c01114()     
    ntdll.dll!77ceb429()    
    ntdll.dll!77ceb3fc()    

一些我尝试过的事情:

一个重要的新观点:当我在没有visual studio(这似乎是逻辑)的情况下运行它时,似乎不会发生错误

重要的一点是:似乎同样的代码在另一台计算机的visual studio中工作(这是完全相同的,并发布了相同的windows图像

)

我试图删除所有文件并做GetLatest,但仍然不起作用

我也有同样的问题,我的解决方案是在"项目属性/调试/启用调试器"一节中"启用本机代码调试"。

我想,我应该能够调试这个问题,但相反,错误消失了。

这可能是一个与Wuala覆盖外壳扩展相关的错误。卸载帮助我。

http://social.msdn.microsoft.com/forums/de de/a073bbb8 - 5586 - 4 - f75 - 970 f - 858 - d90e069ef/openfiledialogsavefiledialog crashen?forum=wpfde

我刚刚重新安装了这台电脑的映像,我安装后,现在它可以工作了:/。非常奇怪的

我有一个非常类似的问题,让我发疯了好几天。它最终是联想密码管理器预装在我的笔记本电脑。它将带有密码框的表单与记住密码横幅叠加在一起。自从卸载后,我再也没有遇到过这个问题。

我对遇到这种情况的人的建议是,检查一下你的软件是否有任何覆盖功能,并检查一下这是否是原因。

我记得在德语区域设置的计算机上看到过类似的情况,使用我们的法语应用程序。我不记得我们是如何解决这个问题的,但相似性让我想到了检查区域设置……无效句柄虽然通常意味着您调用的对象已经被销毁,但我真的无法猜测哪个对象,因为ofd在此时必须仍然有效。

我在VB项目中遇到了"VS Express 2013 for Windows Desktop"的问题。在菜单DEBUG -> Exceptions…有一个项目被检查过了。在该对话框中单击"Reset All"(取消选中所有)后,问题消失了一次,但下一次又出现了。有一个0x4000001f,所以我发现程序和调试器退出没有问题的指示。给出的提示再次帮助只有一个:项目->属性->调试并关闭"启用Visual Studio托管进程"。后来问题又出现了!

我有同样的问题,我的异常代码是c0020001。我通过重置所有异常解决了这个问题。为此,转到{Debug -> Exceptions},在那里你可以重置所有异常。

我的解决方案是添加新的调试方法。而不是AnyCPU我使用x86调试(旁边的"开始"按钮上面点击配置管理器->平台->新建-> x86)。同时,我还在项目属性中启用了ClickOnce安全设置,以"这是完全信任的应用程序",但不知道影响。希望对大家有所帮助。

添加键"自动"在注册表位置HKLMSoftwareMicrosoftWindows NTCurrentVersionAeDebug下输入REG_SZ,并设置为零。

https://learn.microsoft.com/en-us/windows/win32/debug/configuring-automatic-debugging

最新更新