Mastering .NET Debugging with John Robbins
I just completed Wintellect’s “Mastering .NET Debugging” 2-day online course, led by “Bugslayer” John Robbins. John is a debugging wizard! But everybody already knew that. It’s always amazing to watch an expert make something difficult look easy, and he certainly does that. For hours on end he “spewed” (in a good way) great information, tips, and best practice advice that will take me months to grok. And even then, I’ll still only comprehend a fourth of it.
It was an absolute pleasure to be under his tutelage, if even it was “virtual” and he’s already forgotten my name. I do find that courses like this serve to not only help develop my specific skills in a particular area, but it really expands my understanding of .NET in general. I highly recommend the course, and it’s a bargain compared to in-house or off-site training. The online venue worked very well, with the only downside being that John moves so fast (he’s good!) that it was hard to get questions asked during their context
He presented a lot of undocumented tips and tricks, many of which were extremely cool. I’ll be posting a few of them in the near future, with full credit and respect to John as the source. He kept mentioning that he relies on these undocumented tips to make a living, but I have a sneaking suspicion that he’ll do just fine even if I give away one or two here for free.
If I wanted to sum up the training, I would say there are two important concepts to embrace when it comes to debugging:
- Write fewer bugs. (Duh!) There are a lot of “best practices” that can be followed to help reduce or catch bugs in the development cycle instead of in a production environment.
- Do everything possible to gather as much information as possible about the environment the moment a bug occurs. You need to know the state of the system, and anything else that can give you “context”. Data that can be “explored” is best (like memory dumps, etc).
Oh, and with the training (and, I suspect, with John’s latest book) you get literally a TON of code: tools, helpers, snippets, visual studio add-ins, etc. If you don’t take the class, at least buy the book (probably a must-read anyway, but I haven’t read it yet) to get all this great stuff–if it was freely available, it would be at the top of Hanselman’s tools list, I’m sure.