WPF基于WER注册的应用崩溃无响应回调与重启方法
发布时间
阅读量:
阅读量
本文将介绍一种在 Windows 系统中,通过从 Vista 版本开始引入的 Windows Error Reporting (WER) 机制,实现当应用程序出现崩溃或无响应等异常情况时,能够触发回调函数以完成信息保存的操作方式。
在《Application Recovery and Restart Reference》文档中提到,借助 Application Recovery and Restart (ARR) 技术,可以在应用程序发生崩溃时提供一个保存数据的机会。例如,在开发类似 Office 的 PPT 软件时,即使软件发生崩溃,也可以利用这一机制保存用户当前的文档内容,从而有效避免因软件异常而造成的数据丢失。
为了更直观地理解这一过程,在正式操作前先进行一个演示。该示例程序由于包含了一些不稳定的代码逻辑,将导致其进入无响应状态。当 WER 对话框弹出时,用户可以选择重启或退出程序。无论做出何种选择,都可以触发一个提示窗口显示“应用程序炸掉”的信息。换句话说,在这个过程中可以插入各种处理逻辑,如数据保存、错误上报或生成 DUMP 文件并上传等操作。
如果用户选择重启程序,则可以在重启过程中将特定的命令行参数传递给新启动的应用实例。这样就可以在重启后的应用中继续执行之前未完成的操作流程。例如,在开发 PPT 类型的软件时,重启后仍可自动打开之前正在编辑的文档。这种方式能够
全部评论 (0)
还没有任何评论哟~
