每个Windows系统的使用者,一定对于某些程式崩溃之后出现的「错误报告工具」不陌生。这个工具号称能够连网帮你寻找解决方案。不过,大多数情况下,使用者也不会对这个「错误报告工具」抱有什么期待,往往发生过一次的问题会在往后很长一段时间会重复发生。
那么,这个「错误报告工具」是真的有用吗?还是只是一种类似安慰剂的效果,微软只是想让你感觉安心而已?针对这个问题,有网友在国外的Quora上面提问,而微软的Windows Update Agent软体开发团队的Mark Phaedrus回答了这个问题。
这位网友的问题问的很直接:当应用程式崩溃后,有时会跳出一个视窗表示「Windows正在连线帮你检查这个程式的解决方案….」,这个时候它是真的有在做事吗?如果是的话,为什么我从来没听说过他真的有帮我们解决过问题?
Mark Phaedrus则最近回答了这个问题。他表示这个叫做「Windows Error Reporting」系统的机制原理流程简单解释如下:
步骤1:应用程式崩溃
步骤2:Windows 错误检查机制启动,首先会尝试去获取程式崩溃的当下,正在做什么工作的关键资讯
步骤3:透过上面获取的信息,来为这个崩溃信息建立一个「Bucket Signature」,这是用来识别崩溃的一个简单方法。因为尽管开发者无法透过一个单一的崩溃事件的「Bucket Signature」去了解这次的当机原因是什么,但是如果有两种不同的当机事件,有相同的「Bucket Signature」信息的话,那么就可以透过这种方式来判断崩溃的原因。
步骤4:如果用户在系统设定中设定允许上传的话,「Windows Error Reporting」系统会将这次的「Bucket Signature」传送给微软。
所以我们可以知道,当应用程式崩溃之后,你看到这个「Windows正在连线帮你检查这个程式的解决方案….」视窗跳出,实际上表示的就是系统正在抓取这个应用程式崩溃时的关键信息,然后为这个崩溃关键信息建立「Bucket Signature」,并且把这个信息上传到微软。
三种不同的处理结果
而Mark Phaedrus解释,随着将「Bucket Signature」上传到微软之后,依照不同的情况,主要会有三种结果:
(1)微软未能找到与你相同的「Bucket Signature」:这时伺服器那边会仅仅记录你上传的这个崩溃的「Bucket Signature」,并不会回馈给你任何后续的我要信息。
(2)服务器发现他们先前已经有大量相同的「Bucket Signature」,但还没有解法:此时微软会将相关的信息指派给开发团队去进行分析,但他们可能需要更多进一步的信息,才能找到原因完成修复。

因此,从上面的流程可以知道,不同的状况下会有不同的处理模式。因此,如果你没有收到回应,那就表示你的问题可以比较罕见,或是还在等待解决之中。
不过,就算你是状况三,有现成的解法你就真的能够解决你目前的问题吗?其实恐怕也未必。依照小编自己的经验,有时微软回传提供的解法,有时也不见得就百分百真的有用。甚至有时可能就是硬体太过老旧,新的系统(或旧的系统)不支援。