Day Of Dot Net Ann Arbor 2008

2,517 views

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,517
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Introduction to me, my job and company Pre-requisites for the talk: Garbage Collection Threads Visual Studio Stacks Heaps Managed Code vs. Native code ASP.NET
  • 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!
    36.  
    37. Thank You! <ul><li>[email_address] </li></ul><ul><li>http://dotnetjunkies.com/WebLog/davetrux/ </li></ul><ul><li>This presentation: http://www.slideshare.net/davetrux/slideshows </li></ul>

    ×