假设我们希望在加载特定的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:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.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

标签: none

添加新评论