Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Day Of Dot Net Ann Arbor 2008


Published on

Slides from my talk at Day of .Net in Ann Arbor in 2008

Published in: Technology
  • Hi there! Get Your Professional Job-Winning Resume Here - Check our website!
    Are you sure you want to  Yes  No
    Your message goes here

Day Of Dot Net Ann Arbor 2008

  1. Beyond Breakpoints David Truxall, Ph.D. Debugging and Troubleshooting Principal Consultant
  2. Production application with a problem
  3. Finding bugs is difficult and costly
  4. Tools and Techniques Find and Prevent Bugs
  5. Prevent bugs with good process
  6. Recognize the source of bugs
  7. What is a bug? Crashes Freezes/Hangs Poor Performance Incorrect Results Security Holes Inconsistent UI
  8. How do you debug? <ul><li>Reproduce the bug </li></ul><ul><li>Document the bug </li></ul><ul><li>Investigate </li></ul><ul><li>Use tools </li></ul><ul><li>Fix it </li></ul><ul><li>Test the fix </li></ul><ul><li>Document the fix </li></ul>
  9. Know the tools
  10. Testing
  11. Unit tests <ul><li>Under your control! </li></ul>
  12. Regression tests <ul><li>Check fixes today </li></ul><ul><li>Keep bugs away tomorrow </li></ul>
  13. Continuous Integration
  14. Tools make the process work <ul><li>Profilers </li></ul><ul><li>Load Testing </li></ul><ul><li>Platform-specific tools </li></ul>
  15. Profiling
  16. Load Testing <ul><li>Scalability </li></ul><ul><li>Leaks </li></ul><ul><li>Interaction </li></ul>
  17. Platform-specific tools <ul><li>Web </li></ul><ul><li>Fiddler </li></ul><ul><li>LogParser </li></ul><ul><li>WebLog Expert </li></ul><ul><li>YSlow </li></ul><ul><li>Firebug </li></ul><ul><li>IEDeveloper Toolbar </li></ul>See Scott Hanselmans’s tools list
  18. Prevent bugs while coding <ul><li>Learn the tools </li></ul><ul><li>Write good code </li></ul><ul><li>Check your work </li></ul>
  19. Learn the features
  20. Breakpoints
  21. Watches
  22. Code Practices <ul><li>Assertions </li></ul><ul><li>Tracing and Logging </li></ul><ul><li>Symbols </li></ul>
  23. Assertions Debug.Assert(predicate) Trace.Assert(predicate)
  24. Tracing and Logging <ul><li>Finding errors when you can’t debug </li></ul>
  25. Symbols
  26. Code Examination
  27. FxCop
  28. Poor performance == Obvious File System Access Encryption
  29. Use WinDBG to find the hard bugs
  30. Set up and configure
  31. SOS.dll
  32. Symbols
  33. ADPlus
  34. Demo: WinDBG <ul><li>Application Hang </li></ul><ul><li>Memory Leak </li></ul>
  35. Find the Bugs!
  37. Thank You! <ul><li>[email_address] </li></ul><ul><li> </li></ul><ul><li>This presentation: </li></ul>