Tuesday, 06 January 2009  
 
Home
Main Menu
Home
About
Family
Links
Contact Us
Stories
Quotes
Glossary
News
Panoramas
Jokes
Blog
Downloads
Site Map
Debugging
Popular
Latest News
Advanced Debugging Print E-mail
Written by Nick Kotarski   
Thursday, 24 March 2005

Developer Advanced Debugging Course Synopsis


  • Introduction
  • Prerequisites to debugging
  • Avoiding the debugger
    • ASSERT() and VERIFY()
    • Use the compiler
      • Compiler flags
      • Debug builds
    • Use analysis tools
    • Use free tools
  • The Debugging Process
    • Duplicate the bug
    • Describe the bug
    • Always assume that the bug is yours
    • Divide and conquer
    • Think creatively
    • Leverage tools
    • Start heavy debugging
    • Verify that the bug is fixed
    • Learn and share
  • Symbols
    • Why symbols are important
    • How to install symbols
    • Symbol paths
    • Symbol server and beyond
  • Autoexp.dat
    • Custom display of structures/classes
    • Don’t step into
  • The Watch Window
    • Pseudo variables
    • Registers
    • Formatting for expressions
    • Formatting for memory dumps
    • Displaying arrays
    • Function evaluation
      • Limitations
    • Calculator
    • Assembly operators
    • Timing code
  • The Disassembly Window
    • Decode a "random" address
  • Breakpoints
    • Simple breakpoints
    • Counted breakpoints
    • Conditional breakpoints
    • Memory breakpoints
    • Breakpoints on system/exported functions
    • Breakpoint a specific thread
    • Advanced breakpoint syntax
    • Breakpoint implementation
  • Memory
    • Categories of allocated memory
    • Memory allocators
    • CRT debug heap
    • Debugging memory leaks
    • Debugging memory corruption
  • Multiple Threads
    • Advice
    • Race conditions & deadlocks
    • Thread id
    • Per thread breakpoints
    • Things affecting multi-threaded debugging
    • Thread creation routines
    • Thread names
  • Exceptions
    • WIN32 exceptions (SEH)
    • Decoding C++ exceptions
    • Mixing C++ and SEH
  • Remote Debugging
    • When to use remote debugging
    • Remote debugging made easy
    • Manual setup
      • VS 6
      • VS 7 & 7.1
    • Remote debugging with DCOM and the MDM
    • Remote Just-In-Time debugging
    • Restrictions
  • Debugging Services
    • How to debug services
    • Problems
  • Debugging Problems
    • Debugging DLLs
    • Debug works - release Fails
    • Release works - debug Fails
    • Works in debugger - Not outside & vice versa
    • Unicode tricks
  • Assembler
    • How much Assembler do you need to know?
    • Calling conventions
    • Reading the stack
    • What is FPO and why does it matter
    • Why a map is important
    • How to recover a corrupt stack
  • WinDbg
    • What is WinDbg
    • Minimal command reference
    • Why WinDbg is important
  • Tools
  • Resources
    • MSDN
    • Tools
    • Books
    • Web
  • Conclusion

Last Updated ( Saturday, 09 April 2005 )
 
Show links
NASA Earth Observatory
Satellite imagery and scientific information about our home planet.
World Wind
World Wind lets you zoom from satellite altitude into any place on Earth. Leveraging Landsat satellite imagery and Shuttle Radar Topography Mission data, World Wind lets you experience Earth terrain in visually rich 3D, just as if you were really the
Things My Girlfriend and I Have Argued About
Outrageously funny.
emacs
Possibly the best editor in the world.
NiceCupOfTeaAndASitDown.com
Well I think we should all sit down and have a nice cup of tea, and some biscuits, nice ones mind you. Oh and some cake would be nice as well. Lovely.
Clock Calendar
   
designed by allmambo.com