Windows Error Reporting for hangs (a.k.a., "Hang Reporting") begins when a user finally gives up on waiting for a hung window to become responsive. It collects data related to the state of the application at the time of the hang. It is hoped that this data is then used by developers to fix their hangs (i.e., through winqual).
However, there are several hurdles that prevent many of the hangs reported from getting fixed:
- Some applications have a TON of hangs reported. Which should get fixed?
- Fixing some hangs are very difficult. It it worth it to the owner of an application to fix every hang?
- Sometimes, it's not obvious why the hang occurred
It is not feasible to discuss each of these topics in great detail within a single post. In the coming weeks, it is expected that these topics will be covered in more detail.
However, I'm not the only one discussing this topic. Ryan Kivett, considered to be a leading expert on hangs at Microsoft, has created several blog entries giving an overview of this data:
Ryan can be seen in a Channel 9 stream discussing how the data produced by Hang Reporting is analyzed:
The video discusses how a tool called !Analyze (referred to internally as "bang analyze") parses through the millions of hang reports generated by Windows Error Reporting. The output of this tool helps developers stay focused by helping to indicate which hangs are worth pursuing as well as giving a summary of why the hang happened.