Windows Error Reporting
) is a technology introduced by Microsoft
with Windows XP
and included in later versions and Windows Mobile
5.0 and 6.0. Based on the technology previously known as Dr. Watson
, it provides post-error debug
information (a memory dump
) to the developer of an application that crashes
or stops responding on a user's desktop. While Dr.Watson
left the memory dump on the user's local machine for debugging, Windows Error Reporting offers to send the memory dump to Microsoft using the internet. No data is sent without the user's consent.
When a dump (or other error signature information) reaches the Microsoft server, it is analyzed and a solution is sent back to the user when one is available. Solutions are served using Windows Error Reporting Responses. Windows Error Reporting runs as a Windows service
and can optionally be entirely disabled. If Windows Error Reporting itself crashes, then an error reports that the original crashed process cannot be sent.
Kinshuman is the lead developer for Windows Error Reporting technology in Windows XP and Vista.
Windows Error Reporting has been improved significantly in Windows Vista
. Most importantly a new set of public APIs have been created for reporting failures other than application crashes and hangs. Developers can create custom reports and customize the reporting user interface. The new APIs are documented in MSDN. The architecture of Windows Error Reporting has been revamped with a focus on reliability and user experience. WER can now report errors even when the process is in a very bad state for example if the process has encountered stack exhaustions, PEB/TEB corruptions, heap corruptions etc. In earlier OSs prior to Vista, the process usually terminated silently without generating an error report in these conditions.
A new feature called Problem Reports and Solutions has also been added. It a Control Panel user interface that keeps a record of all system and application errors and issues, as well as presents probable solutions to problems.
Software and hardware manufacturers may access their error reports using Microsoft's Winqual
program. In order to ensure that error reporting data only goes to the engineers responsible for the product, Microsoft requires that interested vendors obtain a VeriSign
Class 3 Digital ID. Digital certificates provided by cheaper providers (such as Thawte
, Wells Fargo
) are not accepted.
Software and hardware manufacturers can also close the loop with their customers by linking error signatures to Windows Error Reporting Responses. This allows distributing solutions as well as collecting extra information from customers (such as reproducing the steps they took before the crash) and providing them with support links.
Impact on future software
Microsoft has reported that data collected from Windows Error Reporting has made a huge difference in the way software is developed internally. For instance, in 2002
, Steve Ballmer
noted that error reports enabled the Windows team to fix 29% of all Windows XP
errors with Windows XP SP1. Over half of all Microsoft Office
XP errors were fixed with Office XP SP2. Success is based in part on the 80/20 rule. Error reporting data reveals that there is a small set of bugs that is responsible for the vast majority of the problems users see. Fixing 20% of code defects can eliminate 80% or more of the problems users encounter. An article in the New York Times
confirmed that error reporting data had been instrumental in fixing problems seen in the beta releases of Windows Vista
and Microsoft Office 2007
. But in reporting issues to Microsoft, users need to trust Microsoft's partners as well. About 450 partners have been granted access to the error reporting database to see records related to their drivers
, utilities and applications.