windbg在加载模块时下断点

Posted 活着的虫子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windbg在加载模块时下断点相关的知识,希望对你有一定的参考价值。

假设我们希望在加载特定的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

以上是关于windbg在加载模块时下断点的主要内容,如果未能解决你的问题,请参考以下文章

WinDbg设置托管进程断点

Windbg里DLL相关下断点

windbg断点命中时,其它线程在运行吗

在命名函数上放置断点

windbg查看内存断点是物理地址还是虚拟地址

在 WinDBG 中使用源代码行号设置断点