I often get questions like How do I learn .net debugging? What books should I read? Where can I find more information?
I know everyones learning style is different so this might not be the best way for you, but the way I try to learn things is by "teaching". For example the way I started out with .net debugging was by putting together a really silly .net debugging web cast series with one of my colleagues. Looking back at them now they make me laugh, both because seeing yourself on video is just horrible, and because of how convoluted we made things because of how little experience we had with debugging .net.
The reason learning by teaching works for me is because if I have to explain something to someone else I do a lot more research. If I read a book or go through a course I tend to skip over things and think "yeah, I pretty much know how that works so I won't worry about it" so I never delve into those things. Blogging also makes me have to research a lot more and not leave it at "I have a pretty good idea what the issue is" but instead go deeper and really understand the issues, which gives me knowledge that I can reuse in other situations.
The other obvious and natural benefit from learning by teaching is that you spread the wealth and oftentimes I find that if I really go through with actually presenting it, I also get a lot of feedback helping me understand the issues even further. Sometimes though I just leave it at researching as though I would explain the topic to someone else but never end up doing it (because the issue is really well explained already somewhere else).
The only drawback I see with this for me is that when you're in the learning phase you don't really have the experience that I feel makes a good teacher, and sometimes like in the case of the debugging web casts you do things in convoluted ways in the beginning because you don't know the shortcuts. Still I think it is a worthwhile learning method, especially on topics that are not all that explored and where there is not much good course/training material in existence.
With debugging specifically, I think there is no better way of learning debugging than creating your own issues and debugging them. For example, set up a demo that you know will crash the process or hang the process or cause a memory leak and debug it. It works extremely well for the beginning stages since you know what you are expected to find.
I was thinking of starting a quick series of demos that can be used to practice debugging. Most of them items that I have already posted solutions to here, but with code and "lab" hints. Would that be of interest? if you are interested, just send a quick yes in the comments or contact me by email so I can gauge if it is something that would make sense to do...
Ok, that was a whole lot of rambling about my learning style:) having said this... here are some blogs that I subscribe to with good debugging/asp.net information if you want to learn debugging or keep your debugging skills up to date...
Support blogs with debugging case studies
Speaking of which... (Johan Straarup) http://blogs.msdn.com/johanA developers stayings (Carlo Cardella) http://blogs.msdn.com/carlocNotes from a dark corner (Doug Stewart) http://blogs.msdn.com/dougsteCheshire's blog (Jim Cheshire) http://blogs.msdn.com/jamescheASP.NET debugging (Tom Christian) http://blogs.msdn.com/tomNico's weblog (Nicolas Dietrich) http://blogs.msdn.com/nicdSolving the world's problem, one support incident at a time... (Lucas Canavan) http://blogs.msdn.com/lucascanTodd Carter's weblog (Todd Carter) http://blogs.msdn.com/toddca
Other debugging related blogs:
Debugging toolbox - http://blogs.msdn.com/debuggingtoolboxDotnet debug - http://dotnetdebug.netNT Debugging - http://blogs.msdn.com/ntdebuggingJohn Robbin's blog - http://www.wintellect.com/cs/blogs/jrobbins/default.aspx
Other ASP.NET blogs:
ASP.NET Team blog - http://weblogs.asp.net/aspnet-teamScott Gu's blog - http://weblogs.asp.net/scottgu
CLR, Architectures and stuff - http://blogs.msdn.com/patrick_dussudMaoni's weblog - http://blogs.msdn.com/maoni
and dont forget the Debugging Microsoft .NET 2.0 Applications book by John Robbins
In addition, I'd recommend John Robbins' "Mastering .NET Debugging" class as a really great way to "jump start" yourself into debugging. I'm a much more visual/experiential learner, so having basically a classroom version of his book really got me going.
That, and in the class he basically pointed to your blog as the quintessential ASP.NET (and .NET in general) debugging blog. And I agree! :) Thanks!
I would be extremely interested in such a series.
I would be very interested in a series of debugging demos.
wow, that was quick feedback, ill start thinking about how to best go about doing something like that then. I'll hopefully get it started later this week or early next week then and then you can feel free to comment on whether you think the format i come up with is good or not.
Aaron, that sounds like a really good class. I haven't had the pleasure of attending that but I only can guess that it is good just based on him delivering it. I would recommend most things from him without even having seen them:) and I am very proud that he mentioned my blog:)
For Microsoft customers with premier contracts we offer debugging classes too in case someone is interested. In that case the best way to go about attending one is to have a chat with your Microsoft contact about it.
I could definitely use some labs w/solutions!
Thanks for the blog!
Link Listing - January 30, 2008