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

Laters,

Tess

Comments (38)
  1. Aaron Lerch says:

    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!

    http://www.aaronlerch.com/blog/2007/08/31/mastering-net-debugging-with-john-robbins/

  2. Pawel Pabich says:

    I would be extremely interested in such a series.

  3. Snorri Beck says:

    Vote: Yes!

  4. Alper says:

    I would be very interested in a series of debugging demos.

    Thanks.

  5. Tess says:

    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.  

  6. I could definitely use some labs w/solutions!

    Thanks for the blog!

  7. Alessandro says:

    Vote: yes

  8. nicolas says:

    yes!

  9. Link Listing – January 30, 2008

  10. ASP.NET Troubleshooting Expired ASP.NET Session State and Your Options [Via: Scott Hanselman ] Code…

  11. Tommie J says:

    Yes!!

  12. Jelle says:

    Yes! I’d love to see some debugging exercises, since whatever faulty application you might create for yourself, you already know what to look for so the most difficult part (narrowing down options) would go lost.

  13. Rodrigo Bernardo says:

    yes

  14. André Cardoso says:

    Yes

  15. rbane says:

    Please do a series. My team is decent with regards to this, and we do have references and take trainings on the subject, but our live site problems are such that we only get into the serious debugging maybe once a month, and the ‘lucky’ developer or pair of developers is on a rotation to work the problems. That’s a lot of time to forget trainings and get out of practice for any given person, and when the issues come in it’s always because "zomg the servers are burning," which never helps.

    I read this blog so I at least keep up on some real world examples, which is really helpful when the real world lands in my lap. A practice series would be even better, and very useful for me and my team.

  16. Tom says:

    Yes please.

  17. Antoine says:

    Yes

  18. baal says:

    YES

    well done!

    I have  translated some  ‘ Speaking of which… (Johan Straarup) ‘ ‘s articles to chinese.

    i am a beginner, if I go deeper and I can learn from here, I will translate your articles to chinese too!

    hope your  demos and explanation articles for beginners come soon.

  19. jalf says:

    yesyes 😀

  20. Christian Häfner says:

    Absolutely YES!!!

  21. Justin King says:

    Great stuff and loved the first part

  22. Simon says:

    yES PLEASE

  23. mayre says:

    Yes!

  24. Here are of some of the reader emails I got this week and my answers to them… How do I troubleshoot

Comments are closed.

Skip to main content