Learning .NET debugging

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/johan
A developers stayings (Carlo Cardella) http://blogs.msdn.com/carloc
Notes from a dark corner (Doug Stewart) http://blogs.msdn.com/dougste
Cheshire's blog (Jim Cheshire) http://blogs.msdn.com/jamesche
ASP.NET debugging (Tom Christian) http://blogs.msdn.com/tom
Nico's weblog (Nicolas Dietrich) http://blogs.msdn.com/nicd
Solving the world's problem, one support incident at a time... (Lucas Canavan) http://blogs.msdn.com/lucascan
Todd Carter's weblog (Todd Carter) http://blogs.msdn.com/toddca

Other debugging related blogs:

Debugging toolbox - http://blogs.msdn.com/debuggingtoolbox
Dotnet debug - http://dotnetdebug.net
NT Debugging - http://blogs.msdn.com/ntdebugging
John 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-team
Scott Gu's blog - http://weblogs.asp.net/scottgu

CLR Blogs:

CLR, Architectures and stuff - http://blogs.msdn.com/patrick_dussud
Maoni's weblog - http://blogs.msdn.com/maoni

and dont forget the Debugging Microsoft .NET 2.0 Applications book by John Robbins