1 / 25

Improving code quality with Windows error reporting

HW-62T. Improving code quality with Windows error reporting. Darren McKenzie Sr. Program Manager Microsoft Corporation. Agenda. Importance of C ustomer Feedback Tapping into the d ata Drilling Further with Automation Integration with Visual Studio Closing the Customer Feedback Loop

macaria
Download Presentation

Improving code quality with Windows error reporting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HW-62T Improving code quality with Windows error reporting Darren McKenzie Sr. Program Manager Microsoft Corporation

  2. Agenda • Importance of Customer Feedback • Tapping into the data • Drilling Further with Automation • Integration with Visual Studio • Closing the Customer Feedback Loop • Recap You’ll leave with examples of how to: • Report data collection through Report API • Integrate WER data into your environment in new ways

  3. Importance of Customer Feedback

  4. Customer Feedback • Feedback has been received from millions of users • 10,427,189 aggregate Windows Error Reports on Windows 7 (Beta to GA) • 4,753 Code Changes driven through change • WER has existed since Windows XP • 2,000+ Vendors (IHVs, ISVs and OEMs) participate • We want you to have access to the same type of information

  5. Tapping into the Data

  6. Windows Error Reporting definitions • What is a Bucket? • Evidence the client gathers at the time of incident • What is a CAB? • Memory Dumps (Triage, Mini, Full, Kernel, Heap) • WMI Queries (Sysdata.xml, WERinternalMetadata.xml) • What is a Failure? • Result of processing of memory dumps on server to more precisely root cause the faulting module. Symbols provide more actionable data

  7. Windows Error Reporting definitions • What is a Response? • Action Center message to end-users • What are the Legal Requirements for WER Usage? • Windows Error Reporting Terms of Use V1.2

  8. MSDN Development Centers MSDN • Winqual will be integrated into Hardware/Desktop Dev Centers • Hardware and desktop apps will get error reporting from Hardware/Desktop Dev Centers • Windows Metro style apps will get reliability metrics from Windows Store Desktop Development Center Hardware Development Center Windows Store Device Metadata Reports Driver Distribution Center Certification

  9. demo Website Telemetry Reports

  10. Drilling further with Automation

  11. demo Download, Reprocess, Analyze

  12. Programmatic Flow of Report API • Report List URL – gives you list of reports • /ReportingService/ReportingService.svc/Reports • Feed List URL – gives you list of feeds for a report • /ReportingService/ReportingService.svc/Reports/ReportName • Feed URL – gives you content of the feed • /ReportingService/ReportingService.svc/Reports/ReportName/FeedName

  13. Get Report List Code Sample •   System.Collections.ArrayList reportNameArray = new System.Collections.ArrayList(); •     System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(REPORT_LIST_URL); •   request = GetAuthenticatedRequest(request, username, password); •     System.IO.Stream response = request.GetResponse().GetResponseStream(); •     System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument(); •     xDoc.Load(response); •     System.Xml.XmlNodeList nodes = xDoc.SelectNodes(REPORT_XPATH); •     foreach (System.Xml.XmlNode node in nodes) •     { •         reportNameArray.Add(node.InnerText); •     } • return reportNameArray;

  14. Integration with Visual Studio

  15. demo Using Visual Studio Debugging

  16. Closing the Loop

  17. Closing the loop - Responses • Workflow • Responses requested through Telemetry Reports • Responses provided to customers through Action Center • Scenarios • An update is available that fixes the problem • An update or steps are available that might fix the problem • Customer feedback is needed to help solve the problem • The product is no longer supported

  18. Closing the Loop – Driver Distribution Center • Workflow • Certify driver update through MSDN Hardware Development Center • Distribute driver update through Driver Distribution Center • Customers receive updates through Windows Update • Scenarios • A specific fix exists • There is a product update

  19. Review

  20. Review • Use the new MSDN Dev Centers to access your data • Use automation to provide customization • Use Visual Studio 11 with symbols to root cause problems • Close the loop with customers through responses or Driver Updates

  21. Related sessions • Advanced app and driver debugging • Best practices for packaging and distributing device drivers • Overview of Windows Certification Program • Introducing the Windows Store

  22. Further reading and documentation • WER Service Blog • How WER Collects and Classifies Error Reports • Windows Hardware Dev Center Dashboard • Windows Hardware Dev Center • Windows Dev Center

  23. thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback

  24. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related