Debugging Microsoft.NET 2.0 Applications
John Robbins, Wintellect
Chapters 1-4 deal with best practices and guidance on making sure your development team has the necessary infrastructure in place to be successful in eliminating many of the problems they are likely to face before they occur in a production environment: e.g. during development. Take these chapters and combine with Steve McConnells "Code Complete 2" as a must read for your team.
Chapters 5-6 help prepare you for when things have gone south and you likely need a greater intimacy with debugging tools, including VS2005 debugger and Windbg, than you ever planned on. Much of the material is either in the help files, or online, but it never hurts to have a paper copy! When in full on debug mode, a reference to John's debugging process should be taped somewhere in sight.
"This is my debugger. There are many like it, but this one is mine. My debugger is my best friend. It is my life. I must master it as I must master my life. Without me, my debugger is useless. Without my debugger, I am useless..."
Chapters 7-8 deal with the subject of extensibility: VS Macros and Code Analysis Rules. I've never coded a macro, or code analysis rule; not sure I'm going to start now. However, if I did, I'd start by downloading those made available through the book.
Speaking of which, source code to many libraries referenced in the book are fully available for download, including the (ta da!) SUPERASSERT.NET.
Ultimately, the message of the book is that debugging is not some mystic black art, propagated by cryptic commands like '~*kb 50'. There is a method to the madness and you don't have to be mad to see it.
By the way, Wintellect offers a "Mastering .NET Debugging" course hosted by the Godfather of the Debugger himself, John Robbins. I was lucky enough to attend a 3 day session at the Microsoft Las Colinas office last year and I can highly recommend it. Some might think that the topic of debugging would be horribly dry and nothing could be further from the truth! It also helps that John is one of the single most humble, unassuming developers I've ever met.
Thanks for the book!