如何用异常代码修复.NET Windows应用程序在启动时崩溃:0xE0434352?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

我在Visual Studio 2010中构建了一个.NET Windows窗体应用程序。我还通过Visual Studio 2010构建了相应的安装/安装程序包。它构建为一个32位(x86)应用程序。(我们使用仅限32位的第三方Windows窗体控件)。

我能够运行安装程序包并成功部署到其他Windows 7 64位环境和32位Windows XP盒子。安装的应用程序在这些上运行良好。

但是,当我尝试运行Windows Server 2008 R2-64位时,应用程序在启动时崩溃。它通过安装程序成功安装,没有任何错误。

加载应用程序时它似乎崩溃。我在应用程序中放置了一个消息框作为第一行,以查看它是否已经过去加载。消息框没有显示出来,所以我假设它在应用程序的加载/初始化期间发生。

到目前为止,我还没有发现很多事情要继续下去。从细节我看到以下内容:

Exception Code: E0434352

我搜寻/搜索了一下,看看有没有什么明显的,但我什么都看不到。我在CLR中看到了一些对可能的堆栈溢出的引用。

Windows窗体应用程序使用以下参考进行构建:

  • DevExpress
  • Infragistics Winforms控件
  • ORACLE DataAccess DLL
  • RabbitMQ

什么是问题?我如何解决这个问题?如何进行调试以获取更多有用的信息?

提问于
用户回答回答于

0xE0434352是所有.NET异常的异常代码,所以不会告诉你很多。你是如何得到这个异常代码的?事件日志?

最好的选择是使用调试器来获取更多信息。如果Visual Studio调试器不能帮助,那么可能需要使用SOS检出WinDbg。参见这里这里的介绍。让它突破这个例外,看看你能否获得更多关于原因的信息。

如果怀疑加载程序集时出现问题,则可能需要检查Fusion Log

用户回答回答于

如果从事件查看器中获取该错误,则应该看到源“.NET运行时”中的另一个错误事件(至少一个)。查看该错误消息,因为它将包含Exception信息。

扫码关注云+社区