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
WinDbg设置托管进程断点的更多相关文章
- WinDbg常用命令系列---断点操作b*
ba (Break on Access) ba命令设置处理器断点(通常称为数据断点,不太准确).此断点在访问指定内存时触发. 用户模式下 [~Thread] ba[ID] Access Size [O ...
- 解决VS2015 不能设置下面的断点**** 断点未能绑定
解决VS2015 不能设置下面的断点**** 断点未能绑定 1. 清理解决方案 , 重新生成解决方案 , 无效!! 2. 选项-- 调试 -- 启用编辑并继续 无效!! 3. 启 ...
- 设置NGINX进程分配至多核CPU提升性能
Nginx 配置文件 nginx.conf 首先需要找到 Nginx 的配置文件 nginx.conf 才能进行下面的操作,在LNMP一键安装包默认配置下,nginx.conf 存放在/usr/loc ...
- 使用WinDbg获得托管方法的汇编代码
概述:有时候,我们需要查看一个托管方法的汇编指令是怎么样的.记得在大学的时候,我们使用gcc -s和objdump来获得一个c程序代码的汇编指令.但是对于.NET程序来说,我们肯定无法轻松地获得这些内 ...
- WinDBG详解进程初始化dll是如何加载的
一:背景 1.讲故事 有朋友咨询个问题,他每次在调试 WinDbg 的时候,进程初始化断点之前都会有一些 dll 加载到进程中,比如下面这样: Microsoft (R) Windows Debugg ...
- 用windbg显示特定进程虚拟地址的方法
1 必须使用Livekd.exe启动windbg 2 !process PID 3 找到PROCESS对象的地址:PROCADDR 4 找到进程的DirBase 5 r cr3 = DirBase 6 ...
- GetForegroundWindow获取的是托管进程ApplicationFrameHost,而不是真正的进程,比如XD软件
问题描述 最近做一个实时检测系统当前激活进程的软件,Photoshop.PPT.Word都没有问题,但是无法检测到XD软件的进程,返回的仅仅是ApplicationFrameHost进程,经过研究发现 ...
- 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)
一 网卡配置 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown 脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 网络配置文件: /etc/sysconf ...
- centos 7.x设置守护进程的文件数量限制
在Bash中有个ulimit命令,提供了对Shell及该Shell启动的进程的可用资源控制.主要包括打开文件描述符数量.用户的最大进程数量.coredump文件的大小等. 1. 系统级设置 1.1 C ...
随机推荐
- pageContext,request,session,application生命周期
equest是封装client端(也就是用户通过browser)提交的请求数据和属性的对象. response是封装web server端响应数据和属性的对象. 我们经常会将pageContext.r ...
- 洛谷 [P3480] KAM-Pebbles
博弈论转化 本题的限制条件很多,我们尝试转化, 我们发现,定义 c[i] 为第 i 堆可以取得数量,如果第 i 堆取出了 x ,那么 c[i] - x , c[i + 1] + x 我们发现这是一个反 ...
- ElasticSearch中Date
ElasticSearch中有时会想要通过索引日期来筛选查询的数据,此时就需要用到日期数学表达式. 比如现在的时间是2024年3月22日中午12点.utc 注意,如果是中国的时间需要加上8个小时! 表 ...
- HTTP请求的缓存(Cache)机制
原文地址:http://small.aiweimeng.top/index.php/archives/58.html 先来一张图: ####下面简单的来描述一下HTTP Cache机制: 当资源资源第 ...
- 【PowerShell 学习系列】-- 删除Win10自带应用
Get-AppxPackage *3d* | Remove-AppxPackage Get-AppxPackage *camera* | Remove-AppxPackage Get-AppxPack ...
- jmeter自定义并发用户数图形插件介绍
Stepping Thread Group马上要被废弃了,废弃原因不知道,官方推荐使用 BlazeMeter Inc.公司贡献的插件Concurrency Thread Group,配合 Throug ...
- iOS开发 检测版本更新
iOS开发 检测版本更新的实现 苹果给了我们一个接口,能根据应用id请求一些关于应用的信息.我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了.这时,就需要向用户 ...
- 【转载】容器技术 & Docker & 与虚拟化的比较
看到10月份天天写博客,只有一天没写,非常棒! 11月份也基本每天都写,现在看到有三天没加新博客,应该是之前挖的坑太多了,需要填坑,呵呵. 那这篇文章是不是为了占坑呢?哈哈.我不说话. 容器技术,这篇 ...
- 基于MNIST数据的卷积神经网络CNN
基于tensorflow使用CNN识别MNIST 参数数量:第一个卷积层5x5x1x32=800个参数,第二个卷积层5x5x32x64=51200个参数,第三个全连接层7x7x64x1024=3211 ...
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...