我正在开发一个不断打开 IE、执行任务、关闭它然后重复的应用程序。然而,如果 IE 在执行期间崩溃,系统准备继续下一次迭代,但错误报告保持打开状态,不允许进程完全关闭。这意味着它会继续占用内存,直到用户单击提示忽略错误的对话框。
目前我正在研究两种解决方案,使用 VectoredExceptionHandlers,以及完全禁用 WER 的能力。
我对 VectoredExceptionHandlers 的理解是,它们会拦截我的应用程序抛出的任何异常,并在它们进入 WER 之前处理它们。但是,由于崩溃实际上发生在我的应用程序启动的 IE 进程中,我不确定这些处理程序是否仍然能够阻止 WER 接收异常。
我也不希望像 StackOverflow 上的其他问题所建议的那样在系统上完全禁用 WER,我只想在我的应用程序运行时禁用它。
有没有人对这些选项有更多的了解或有更好的方法来处理这个问题?
最佳答案
WER Settings来自 MSDN 的页面可能是您想要查看的内容。注册表中有一个部分用于排除的应用程序。似乎有这个 WerAddExcludedApplication你可以调用的函数。从 Vectored Exception Handling 上的页面来看,它可能不会帮助您捕获来自不同应用程序的异常。
关于c++ - 在应用程序运行时禁用 WER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462302/