Friday, June 16, 2006

Hardcore .NET debugging

One thing that I've recently become aware of is SOS.DLL, a debugger extension that ships with the .NET framework for doing some pretty hardcore, nitpicky debugging tasks. I haven't had a reason to use it yet, but it was really helpful for a guy on my team for a problem he was looking at, so I became somewhat interested in it. With it, you can do some interesting things that you can't do with the regular Visual Studio debugger, like see which objects are holding references to a given object. That's useful for when you don't know why that object isn't getting garbage-collected. Hope you like memory addresses!

The drawback is that it's all console-based and pretty arcane. It would be great if some of these features made their way into a future version of VS's graphical debugger. But, at least you can still run the commands from within Visual Studio.

More information:
How to use SOS from Visual Studio
What you can do with SOS—talks specifically about WinDbg, a super-bare-bones console debugger, but the same commands work in Visual Studio once set up

I'm not sure if that will ever be interesting to anyone who reads this, but perhaps.

Now back to the regular insane ramblings!

1 comment:

Matthew Johnson said...

I'll keep it in the back of my head. It's likely that I'll be doing some hardcore debugging at some point in the very very near future.