Well, I finally finished Debugging Microsoft.NET 2.0 Applications by John Robbins. It took a while for a few reasons. First, I was reading a second book a long with this one that I’ll be finished with shortly. Second, work has been tremendously busy lately. Finally, the WinDbg section of this book is excellent, but can only truly be taken in when doing it in a hands-on manner.
This book is another one of those great desktop references for .NET, alongside of CLR via C#. At first thought, many would probably right off the book based on its title thinking that debugging in .NET is so easy that there is no need to read a book on it. However, this book provides an excellent footing on how to develop in a more debuggable manner, as well as, how to perform more advanced debugging; i.e., WinDbg. Of course, some of the book is the basic information that any seasoned developer is already going to know. Of particular interest to me were the sections on Symbol Servers and Source Servers (not SCMs) and their relation to doing hardcore debugging with WinDbg. Without a guide to get you started in WinDbg, I would think that it would take a very long time to come up to speed with its archaic IDE.
The only thing I did not like/agree with was the author’s obsession with Debug.Assert. Personally, I rarely use Debug.Assert. I prefer to catch my ‘assert’ scenarios and throw a proper exception. His lengthy argument and protesting did nothing to change my mind on the subject.