1

我正在开发一个不断打开 IE、执行任务、关闭它然后重复的应用程序。但是,如果 IE 在执行期间崩溃,系统准备继续进行下一次迭代,但是错误报告保持打开状态并且不允许进程完全关闭。这意味着它会继续占用内存,直到用户单击对话框说忽略错误。

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

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

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

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

4

1 回答 1

1

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

于 2012-09-18T13:18:04.390 回答