Here we are. It's 08:08:08 on 8/8/8 and this is my 100th blog post!! Woo-hoo! To celebrate, I had planned to present a list of the best 100 debugging resources that I am aware of. Could I come up with 100? Well, not quite....
First off, I set myself some criteria. I tried to focus the list on things that are generic to debugging on Windows (with a bias toward usermode) without getting too side tracked into things that are too specific to any one problem domain (such as IIS, ASP.NET or the CLR) though I have made some exceptions. When I set out to compile this list I thought it was going to be a breeze. "There's loads of stuff out there!" I thought. However I found it quite tricky (especially while trying to stick to my self-imposed criteria) and came to realise that there are still relatively few resources for understanding and learning about low level debugging on Windows. What I also found is that if you keep digging you will continue to discover hidden gems on the internet but it takes longer and longer to find something new as the search continues. However, I got to the point where I realised the Pareto principle applied (as usual- as it does to most things in life) and that whilst it had taken me quite a while to come up with 80 resources it was probably going to take me 4 times longer to come up with the final 20. So I drew a line and here is the list.
Hopefully you folks know of lots more good stuff that I've missed....
Debugging tools or sources of debugging tools
Debugging Tools for WindowsDebug Diagnostic Tool v1.1User Mode Process Dumper Version 8.1SOSEX - A New Debugging Extension for Managed CodeMicrosoft Application VerifierSysinternals SuiteDbgNetFx.exe (includes the useful SIEExtPub.dll extension)Visual StudioOllyDbgMDbg
Major sites or blogs you should bookmark or subscribe toIf broken it is, fix it you shouldASP.NET DebuggingDumpAnalysis.orgNynaeve : Adventures in Windows debugging and reverse engineeringMicrosoft Advanced Windows Debugging and TroubleshootingDebugging Tools for Windows documentation onlineCitrix Knowledge Center articles about WinDBGMicrosoft Knowledge Base articles about WinDBGOSR Online - home of "NT Insider", debugging seminar's and much more (free registration required)Never Doubt Thy DebuggerWebcast or videos to watch
Determining When You Have a Problem and Beginning the Initial DebuggingDebugging CLR InternalsDiagnosing Memory Leaks in ASP.NET ApplicationsTechNet Webcast: Windows Hang and Crash Dump AnalysisTess presenting at Oradev, 2007Daniel Pearson: Debugging a Windows Blue Screen of Death Understanding handle leaks and how to use !htrace to find themMSDN Webcast: MSDN geekSpeak: Debugging with John RobbinsOverview of Debugging Tools (Simon Maddock on DebugDiag)Debugging From the Trenches War Stories from the Real World
Debugging books
Other articles, article series, sites or blog posts to read
Production Debugging for .NET Framework ApplicationsRoot Out Elusive Production Bugs with These Effective TechniquesWindows Debuggers: Part 1: A WinDbg TutorialDebug Tutorial Series in 7 PartsA word for WinDbg Robert Kuster's thematically grouped WinDBG command referenceWinDBG from A to Z!Johan's Debugging SchoolJohn Robbin's blogDebugging ToolboxDebugging topics on the AskPerf blogAdvanced .NET Debugging - because sometimes you need to dig deepApplication Debugging in a Production EnvironmentNext Generation Production DebuggingMicrosoft Open Debugger Extension (early days, but one to keep an eye on)The Debugger Extension by Dan McKinleyDebugInfo.comProgramming Tidbits: Store and RetrieveDecrypt my World: Cryptography, Security, Debugging and more!Discussions in Debugging Tools for WindowsKK's blogPost-Mortem Debugging Your Application with Minidumps and Visual Studio .NETJohn Robbins' articles on MSDN (29 and counting)Notes from a Dark CornerUse the Microsoft Symbol Server to obtain debug symbol filesgreggm's WebLogDriver Debugging with WinDbg and VMWareWindbg by Volker von EinemMindshaRE: Hit Tracing in WinDbgReal world walkthrough with WinDbgDownload complete Windows Symbols PackagesMike Stall's .NET Debugging BlogRaymond Chen on debuggingJeremy Gordon's site: The Go tools for Windows + AssemblerMfartura's blogRandom Debugging Goodies (Jackson Davis's Blog)Jigar Mehta's BlogJames Finnigan's blogA hole in my headWinDbg + SOS Cheat Sheet
I hope it's useful!
Doug