WinDbg设置托管进程断点

    WinDbg的Live模式调试。.Net 托管代码 ,使用bp,bu,bm无法设置断点,也许是我不会。研究了下,托管代码有自己的命令,!BPMD 模块名 完全限定的方法名 

步骤:

1、查找进程PID,用WinDbg,Attach上

2、使用反编译工具(IL),查找需要断点的方法名,需要完全限定名。

3、根据名称,使用!name2ee  也可找到方法的完全限定名。 

4、使用!BPMD 模块名 完全限定的方法名 设置断点。这是托管代码设置断点命令。设置完成后,显示Found 1 methods in module xxx 就设置成功。

5、继续执行程序。等待断点进入。进入后,通过!CLRStack -p查看参数即可。

退出,而不结束进程,使用.detach命令

=================另一种方法打入断点,更新日期2017-08-11==================

仅使用WinDbg,不是用反射工具,从外到里,一层层查看。
1、先DumpDomain出来。  !DumpDomain 导出Domain下每个Module
2、然后DumpModule下的所有类。!DumpModule -mt 00007ffdb2d277a0 导出此Module的所有类
3、找到指定类,Dump出所有Method。!DumpMT -MD /d 00007ffdb2d288f8 导出此类的所有方法
4、打断点。!BPMD -md MethodDesc 打入断点,参数为MethodDesc地址
bl 可列出有效断点
bc * 可清除所有断点
bc N 可清除指定断点

WinDbg调试高内存的.Net进程Dump

原文地址:https://www.cnblogs.com/wigis/p/7307924.html