windbgsosex

Use register for .NET sosex extension


Is there any way to display the object contents using !mdt (SOSEX extension) but using a register?

I am aware if you do !mdt 299281 (display the object in that address if any) but what about if I want to do !mdt edx (register instead of hex number)?


Solution

  • Yes, just use @edx. Here's an example with eax:

    0:004> r
    eax=023c3e64 ebx=00000000 ecx=00000000 edx=773af1da esi=00000000 edi=00000000
    eip=7732000c esp=04acfe88 ebp=04acfeb4 iopl=0         nv up ei pl zr na pe nc
    cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
    ntdll!DbgBreakPoint:
    7732000c cc              int     3
    
    0:004> !mdt @eax
    023c3e64 (System.Globalization.CultureData)
        sRealName:023c1228 (System.String) 
        sWindowsName:023c1228 (System.String) 
        sName:023c1228 (System.String) 
        sParent:023c1228 (System.String) 
    [...]