windows-error-reporting - 应用程序关闭和 Windows 错误报告

我们正在尝试更新我们的应用程序,以便将其提交以获得 Vista 认证。部分要求是只处理已知的异常,并让 Windows 错误报告处理所有未处理的异常。

我们的应用程序中有一个全局异常处理程序(订阅了 Application.ThreadException 事件),我们在其中对已知异常执行某些处理,但如果异常未知,我们希望抛出应用程序终止并处理 WER。

如果我们重新抛出然后调用堆栈被重新创建,我们看不到执行此操作和维护调用堆栈的方法。

我们已经研究过通过 Environment.FailFast() 终止,但我们认为这不会提供我们需要的异常信息。

我们是否遗漏了一些明显的东西?

最佳答案

为什么不抛出一个新的异常并将 InnerException 属性设置为未处理的异常?默认的 StackTrace 属性会将两个跟踪连接在一起。

请记住,如果您正在调试从 WinQual 检索到的内存转储,那么它将是一个无论如何都会被捕获的 native 异常。几乎总是可以返回 native ​​堆栈并检索托管异常,如果您有可用的符号,通常很容易找出问题所在。在这种情况下,托管异常的堆栈跟踪无论如何都是多余的。

https://stackoverflow.com/questions/243244/

相关文章:

spring - 基于 spring 的网络应用程序中的父上下文

oracle - 从 oracle db 截断表时出错

visual-studio - 从 Jamfiles 构建 Visual Studio 项目?

java - Java 或 .NET 的跨语言配置

web-services - SoapActionEndpointMapping在Spring-ws

php soap 客户端 : wsdl vs. 非 wsdl - 哪个更快?

web-services - 使用 Netbeans 平台使用 Web 服务

iphone - 更改 UIImageView 动画速度

winapi - 在 Windows 上替代 system() 和 _popen()

php - PHP 中的 CRC8 校验