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