假设我们希望在加载特定的dll时中断调试器,例如,我想启用一些SOS命令,而clr还没有加载,当您遇到程序中过早发生的异常,并且您不能依赖手动尝试在正确的时间中断时,这尤其有用。
例如,在将调试器附加到一个进程之后,我会得到一个错误,因为clr尚未加载
0:000> .loadby sos clr
Unable to find module 'clr'
使用sxe ld命令,我可以告诉调试器在加载clr时中断.
0:000> sxe ld clr
0:000> g
我马上就明白了:
ModLoad: 6f580000 6fc03000 C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=7efdd000 edi=003cf400
eip=77d7fc42 esp=003cf2d4 ebp=003cf328 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!NtMapViewOfSection+0x12:
77d7fc42 83c404 add esp,4
现在命令就会成功的!
0:000> .loadby sos clr