wer

Wine Error Reporting

Wine should have support for automatic error reporting to concentrate at the most important issues.


Error Reporting in the wild

When the system detects a Hardware or a Software Problem, then a Report with informations about the Issue is created and send to the Vendor.

Microsoft implemented this feature in Windows XP as "Error Reporting" (faultrep.dll) and since Vista as "Windows Error Reporting" (wer.dll). Microsoft Office has a built in framework to enable Fault Reports on OS before Windows XP

Other Applications (Example: Netscape/Mozilla => Talkback) and OS (Example: Ubuntu => Apport) have a similar framework for Software Problems. Some of them years ago before Microsoft started to use there own framework.

For Windows, all reports are collected at Microsoft and are made available for Hardware and Software vendors with a valid VeriSign certificate. http://launchpad.net is the target for reports collected by apport


faultrep
  • faultrep.dll was introduced in Windows XP, but was made deprecated since Windows Vista.

    The main API is ReportFault(), which need a pointer to an EXCEPTION_RECORD as parameter. This structure is available during an exception Handler.

  • Using fault reporting is easy to implement in an exception Handler:
    • load faultrep.dll from the <%windir>\system32 directory

    • find the ReportFault export

    • call ReportFault()

  • faultrep.dll in Wine is mostly a stub


wer
  • wer.dll was introduced in Windows Vista with lot of functions to made it possible to customize the error report. Some functions for error reporting are implemented in kernel32.dll
  • wer.dll in Wine is mostly a stub
  • wer functions in kernel32.dll are not implemented


Links

wer (last edited 2010-10-24 12:45:25 by DetlefRiekenberg)