This is a mirror of official site: http://jasper-net.blogspot.com/

A COOL WINDBG/SOS HIDDEN FEATURE

| Sunday, August 22, 2010
Every once in a while you run across an undocumented trick that totally and completely makes your day. A great example of that is the ability to debug MSBuild scripts in Visual Studio. Today I ran across another amazingly useful feature in WinDBG and SOS for .NET 4.0 that will save you countless hours of typing when analyzing minidumps. If you thought using .cmdtree to click your way to SOS happiness was amazing, you're going to love this one.

The next time you start a WinDBG debugging session with SOS 4.0, issue the following undocumented command before you run any SOS commands:

.prefer_dml 1

If you've been using WinDBG for a while, you might have heard of DML (Debugger Mark Up Language). It's a feature of WinDBG where you can get hyperlinks in specific command output, such as LM (Loaded Modules) where you can click on a module to get more information about that module. To see DML in action, execute the lm /D command and you'll see the hyperlinks in the Command window like the following:

Clicking on one of the links will execute the lmDvm<module> command which not only shows the version, but allows you to dump all the native symbols using the X command.

So what does DML have to do with SOS? It turns out everything! Once you've issued the .prefer_dml 1 command some serious magic happens. For example, here's the output of the !dso (Dump Stack Objects) command:

Read more: JOHN ROBBINS' BLOG

Posted via email from .NET Info

0 comments: