I'm always happy to find technical book who's author clearly makes his living as a developer, and not only understands, but also practices the concepts and techniques presented in the book. In the case of Debugging Strategies for .NET Developers, Darin Dillon is clearly one such expert.

I was expecting to find the book filled with various .NET debugging tips and tricks; but, the author covers so much more about the logical approach to debugging in general. For the very experienced developer, there is plenty of detail that will teach you new approaches to your debugging strategies using tools only available with the .NET Framework. For beginning and intermediate developers, you will learn some of the fundamentals of debugging that you may have missed in your experiences to-date. You will learn how to think logically about your approach to finding bugs--not just how to step through code with a debugger. This is really a great book on both of these levels--and more.

Highlights

The chapter with Six Pieces of Debugging Advice is a great starting point for developing a mind set for effective debugging. There is some great advice on the order in which you should examine bugs, how to focus on differences, and some real world solutions to difficult problems.

The author is very cautious and offers advice on how you need to have a plan before diving into brute-force debugging with a debugger to step over code in the hopes of finding your bugs. The author presents many debugging techniques other than brute-force debugging which include Assertion Debugging, details of the .NET Debug and Trace classes, debugging with logs and even how to use source control to aid with debugging. The more advanced topics covered include writing your own .NET TraceListener, remote debugging, and the dreaded multithreaded application debugging.

Summary

Debugging Strategies for .NET Developers presents concepts that will help you develop an effective approach to debugging within the .NET Framework. This book is a great tutorial on this often overlooked topic.

Thanks, Darin Dillon and Apress. This title is definitely one of my .NET recommendations.