在应用程序运行时禁用WER



我正在开发一个应用程序,该应用程序不断打开IE,执行任务,关闭它,然后重复。然而,如果IE在执行过程中崩溃,系统准备继续进行下一次迭代,但错误报告仍处于打开状态,不允许进程完全关闭。这意味着它将继续占用内存,直到用户单击对话框并忽略错误为止。

目前,我正在研究两种解决方案,VectoredExceptionHandlers的使用和完全禁用WER的能力。

我对VectoredExceptionHandlers的理解是,它们会拦截我的应用程序抛出的任何异常,并在它们到达WER之前进行处理。然而,由于崩溃实际上发生在我的应用程序启动的IE进程中,我不确定这些处理程序是否仍然能够阻止WER接收到异常。

我也不希望像StackOverflow上的其他问题所建议的那样在系统上完全禁用WER,我只希望在我的应用程序运行时禁用它。

有人对这些选项有更多的了解吗?或者有更好的方法来处理这个问题吗?

MSDN中的WER设置页面可能是您想要查看的。注册表中有一个部分用于排除的应用程序。似乎有一个WerAddExcludedApplication函数可以调用。从矢量异常处理页面来看,它可能不会帮助您捕获来自不同应用程序的异常。

相关内容

  • 没有找到相关文章

最新更新