繁体   English   中英

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

[英]vshost32.exe has stopped working when I call the ShowDialog method of OpenFileDialog

我有一个 c# 应用程序,我正在对其进行最终测试。

但是现在,一直有效的 function 不再有效了!

我有一个按钮,当我点击它时我想浏览文件,我看到“打开文件”windows,半秒后,我收到一个未捕获的视觉工作室错误:

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,但仍然无效

我遇到了同样的问题,我的解决方案是在“项目属性/调试/启用调试器”部分中“启用本机代码调试”。

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

我有一个非常类似的问题让我疯狂了几天。 它最终成为我的笔记本电脑上预装的Lenovo Password Manager。 它使用密码框覆盖表单,并使用记住密码横幅。 自卸载以来我没有遇到过这个问题。

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

我只是重新安装了这台计算机的图像,我在安装后完成了它现在可以工作:/。 很奇怪

我在VB项目中遇到过“VS Express 2013 for Windows Desktop”这个问题。 在菜单DEBUG - > Exceptions ...中检查了一个项目。 在该对话框中的“全部重置”(取消全部检查)后,问题消失一次,但下次再次出现。 有一个0x4000001f,所以我发现程序和调试器退出没有指示问题 给出的提示再次只帮助onec:Project - > Properties - > Debug并关闭 “启用Visual Studio托管过程”。 后来又出现了问题!

我记得在带有德语语言环境的计算机上看到类似于此的东西,我们的法语应用程序。 我不记得我们是如何解决它的,但相似性指向我检查区域设置...无效的句柄虽然通常意味着你调用的对象已被破坏,但我真的无法猜测哪个对象,因为它必须仍然有效这一点。

我的解决方案是添加新的调试方法。 而不是AnyCPU我使用x86调试(在上面的“开始”按钮旁边单击配置管理器 - >平台 - >新建 - > x86 )。 与此同时,我还在Project Properities中启用了ClickOnce安全设置 ,以“这是完全信任的应用程序”,但不知道其影响。 希望这将有助于somone。

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

在 HKLM\Software\Microsoft NT\CurrentVersion\AeDebug 位置下的注册表中添加 DWORD 类型的键“Auto”并设置为零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM