在 Windows 应用意外崩溃后,系统似乎会努力地寻找解决方案。但是在绝大多数情况下,这一切都是徒劳的,并不会向用户给出任何结果。即便如此,很多人还是想要知道这个无效的过程期间到底都发生了什么。好消息是,近日微软 Windows Update Agent 软件开发团队的 Mark Phaedrus,就在问答网站 Quora 上回答了这个问题。
(题图 via MSPU)
以下是 Windows错误报告系统工作原理的简化说明:
● 程序遇到崩溃。
● Windows 错误检查机制启动,尝试获取程序崩溃当时正在做什么的重要信息。
● 基于上述信息来创建‘桶签名’(Bucket Signature),这是识别崩溃的一个简单方法。尽管无法直接判断,但若遇到两个或以上相同的内容,就能揪出是同一件事导致的崩溃。
● 若用户隐私设置允许,Windows 错误报告会将 Bucket Signature 签名信息发送给微软。
之后就是三种结果:
(1)微软未能找到特定的问题:服务器那边仅仅是记下了崩溃的签名信息,未能反馈任何后续进展。
(2)服务器接收到了大量相同的崩溃签名信息:此事微软会将 bug 报告分配给开发团队作分析,但他们可能需要更多信息来完成修复。
(3)运气很好,找到了相应问题的修复程序:那服务器会向用户机器传回一个通知 ——‘你可以怎么怎么做来解决该问题’。
但若无法简单通过安装最新的 Windows 修补程序来解决这个问题,还是去寻找 IT 管理员的帮助吧。
综上所述,若用户不提交错误日志,那微软可能永远不会知道该问题的常见程度。如果你希望微软能够尽力修复,那也请不吝提交崩溃日志信息。