1 / 9

Catch your elusive bugs

Catch your elusive bugs. Min Kwan Park Test Tech Lead Visual C# QA team. Agenda. Fail fast To-Dos for fail fast Analyze issues Information for further action Q&A. Fail Fast. There are many ellusive bugs which are easily ended as “Not reproed ”.

paulos
Download Presentation

Catch your elusive bugs

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. Catch your elusive bugs Min Kwan Park Test Tech Lead Visual C# QA team

  2. Agenda • Fail fast • To-Dos for fail fast • Analyze issues • Information for further action • Q&A

  3. Fail Fast • There are many ellusivebugs which are easily ended as “Not reproed”. • They are not easy to track down to the root cause since the system fails later with random behavior. • Static analysis can’t reveal all issues in run time. • By using runtime error detection tools, you can sea the root cause at the moment of violation than later symptoms.

  4. To-Dos for fail fast • Disable OLE Exception filter • It hides your actual crash and leads you to wrong direction • Enable JIT debugger • Be ready to debug any crash • Install Appverifier and enable it for your native code • Any other Exes from your product • Enable MDA for your managed code • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework] "MDA"="1“ • Enable Break at 1st chance AV

  5. Analyze issues • 1st chance AV • Check whether the AV is properly handled or not • There should be specific exception handler for AV case. • OLE Exception filter should not suck this up • Crash • Make sure that there was no 1st chance AV or improperly handled other exception types

  6. Analyze issues(Cont.) • Hang • Distinguish type between • Visual freeze • 100% CPU usage • No back-ground thread activities • Start from UI thread for sure since many cases hang means visual freeze • See what events/objects are waited in UI thread

  7. Analyze issues(Cont.) • Appverifier Error reports • Stop at any error reporting from Appverifier and debug it. • Read the error message from Appverifier carefully and drill the information more. • MDA error reports • If you start your test app under VS debugger. Use exception settings to enable necessary options • Information on all options: http://msdn2.microsoft.com/en-us/library/d21c150d.aspx

  8. Information for further action • Callstack • In many cases, call stack can tell the cause of issues in dev’s eyes. • Dump file • Prefer to have dump with heap. But mini dump is ok • Screen shot • Often time the cause of issue can come from unexpected components in UI. So having screen shot is often handy to analyze the issue. And it can help you to remember the repro later.

  9. Q&A • Conclusion • Enable runtime analysis as much as possible to reveal the bugs • Always, drill down the cause of issue. In other words, Debug your bug to understand it. • Put enough information into your bug

More Related