gpt4 book ai didi

c# - 当应用程序使用对 Environment.FailFast 的调用退出时,会显示未知的硬错误消息

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:40 25 4
gpt4 key购买 nike

我们有一个 C# 应用程序,它连接到 AppDomain.UnhandlerExceptions 并监听应用程序中任何未处理的异常。一旦出现未处理的异常,它会向用户显示错误消息并通过调用 Environment.FailFast 终止应用程序。

问题是,在某些机器上,这会导致向用户显示“未知硬错误”消息,并且在我们单击“确定”之前,应用程序不会退出。

操作系统是带有 .NET 4 应用程序的 Windows 7 x64。

最佳答案

我们联系了微软,结果是因为在 Windows 机器上禁用了 Windows 错误报告服务

调用流程是这样的:

  1. 应用程序通过调用 Environment.FailFast 自行终止。
  2. CLR 检查是否有任何调试器已注册处理异常。如果注册了调试器,则异常由调试器处理。
  3. 如果没有调试器,CLR 会尝试将异常传递给操作系统。它尝试启动 Windows 错误报告服务 并将异常传递给它。
  4. 万一它无法启动 Windows 错误报告服务,它会在内核中排队一个未知的硬错误,并向用户显示未知的硬错误消息。

关于c# - 当应用程序使用对 Environment.FailFast 的调用退出时,会显示未知的硬错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314945/

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