首页 > 其他分享 >umdh工具使用简介

umdh工具使用简介

时间:2023-11-21 17:12:41浏览次数:37  
标签:泄漏 快照 开发人员 简介 应用程序 UMDH 内存 umdh 工具

UMDH(User-Mode Dump Heap)是一个用于调试和分析内存泄漏的工具。它是微软提供的一种 Windows 调试工具,可帮助开发人员找出应用程序中的内存泄漏问题。

UMDH 的工作原理是基于堆分配的内存跟踪。它通过监测应用程序的堆分配和释放操作,生成一系列堆快照(Heap Snapshot)。这些快照记录了堆上分配的内存块及其相关的调用堆栈信息。通过对比这些堆快照,UMDH 可以确定哪些内存块没有被正确释放,从而帮助开发人员找到内存泄漏的源头。

使用 UMDH 进行调试通常包括以下步骤:

  1. 配置符号路径:确保操作系统和应用程序的符号文件可以在调试过程中正确加载和解析。

  2. 启动目标应用程序:以调试模式启动目标应用程序,并记录其进程 ID。

  3. 收集初始堆快照:使用 UMDH 工具获取应用程序的初始堆快照,这个快照包含了当前分配的所有堆内存块及其相关信息。

  4. 触发内存泄漏场景:执行应用程序的特定功能或场景,可能导致内存泄漏。

  5. 收集第二个堆快照:在内存泄漏场景触发后,再次使用 UMDH 工具获取第二个堆快照。

  6. 对比堆快照:使用 UMDH 工具对比两个堆快照,分析其中的差异。UMDH 可以标识出增加或减少的内存块,帮助开发人员确定哪些内存块没有正确释放。

  7. 查看堆栈信息:UMDH 还提供了对每个内存块关联的调用堆栈信息的支持。开发人员可以分析这些堆栈信息,定位内存泄漏的具体位置和可能的原因。

总的来说,UMDH 是一个强大的工具,可以帮助开发人员识别和调试应用程序中的内存泄漏问题,以便及时解决并优化应用程序的内存管理。

例子

设置环境变量 _NT_SYMBOL_PATH

开启xxxx.exe,获取进程号:25720

开启cmd

gflags.exe /i xxxx.exe +ust

umdh -pn:xxx.exe -f:snap1.log or umdh -p:25720 -f:snap1.log

umdh -d snap1.log snap2.log -f:result.txt

标签:泄漏,快照,开发人员,简介,应用程序,UMDH,内存,umdh,工具
From: https://www.cnblogs.com/yilang/p/16501650.html

相关文章

  • Querydsl 使用和工具类
    Querydsl简化使用1、在使用Querydsl时,需要定义EntityManagerEntityManagerFactory会存在许多重复性的代码,下面将使用进行归口,减少重复的引入操作importcom.blazebit.persistence.Criteria;importcom.blazebit.persistence.CriteriaBuilderFactory;importcom.blazebit.pe......
  • 如何优雅的使用微信小程序的wx.request请求(封装request.js工具类)
    首先官方的文档不是支持Promise风格的请求我们通过官方文档可以看到微信小程序发请求的一些具体参数,下面的代码展示了用wx.request()发送的一个标准请求:wx.request({     url:"https://xxx.com",     method:"POST",     data:{   ......
  • 无涯教程-Sed - 简介
    sed(意为流编辑器,源自英语“streameditor”的缩写)是一个使用简单紧凑的编程语言来解析和转换文本Unix实用程序。sed由贝尔实验室的LeeE.McMahon于1973年至1974年开发,并且现在大多数操作系统都可以使用。sed基于交互式编辑器ed(“editor”,1971)和早期qed(“quickeditor”,1......
  • 微信附近人wxid采集工具,可通过QQ附近人提取转换,易语言版接口代码
    这个调用的是一个POST接口,我用fiddler抓取的,并非是逆向或者是破解奥,是正常公开的接口,我只是对数据对了一些编码转换和整理,可以提取附近人的数据包,然后通过数据包可以直接加微信,就这么简单,但是还是存在一些技术原理,ck是我自己账号的我就不提供了。框架设计界面: 数据包可以直接......
  • ldaps 生成证书工具类
    1.问题修改用户名和密码需要用到ldaps,单纯的ldap389地址无法访问,必须通过636端口登陆后才能修改用户名密码,但是网上试过各种方法生成的证书都不能用,都是用keytool把证书加载到信任文件cacerts中,但是使用这个方法一直提示:unabletofindvalidcertificationpathtorequ......
  • qq附近人提取脚本插件,微信wxid附近人提取接口工具,易语言代码分享,POST方式学习教程
    其实打开Qq附近人后它会返回一个数据包我们只需要把这个数据包提取解析出来就可以提取对方的wxid或者是QQ号,通过这个WXID还能直接加好友,而且是免费的接口,我今天把基础源码和案例图发给大家,免费分享,没有HOOK也没有逆向,就抓包实现的,正常逻辑哈,并非是违规开发。框架图:  转换后......
  • SpringBoot 文件上传下载工具样例
    最近工作遇到这样的情景:一大堆linux内网服务器,上面部署了mysql,nacos,xxljob等中间件,当然也给了一个很干净的windows内网服务器,什么软件都没有安装。比较欣慰的是:可以通过浏览器访问nacos、xxljob的管理页面。不幸的是:没有安装mysql客户端和xshell等工具。我可以通过......
  • 使用开源工具将windows家庭版切换到专业版
    说明工具名称开源地址:https://github.com/massgravel/Microsoft-Activation-Scripts官方简介:使用HWID/Ohook/KMS38/OnlineKMS激活方法的Windows和Office激活器,专注于开源代码和较少的防病毒检测。使用打开工具方法1-PowerShell(推荐)在Windows8.1/10/11......
  • 最热的前端Web组态工具了解下(可视化)
    随着5G、物联网、大数据等技术的高速发展,各领域逐步向数字化、可视化的人工智能(AI)的方向不断迈进。全球进入工业4.0时代,标志着先进的信息技术于制造业紧密结合,将从单纯的生产要素向数据驱动、智能化、高度自动化的方向转型。2023即将结束,紧跟行业发展,小编整理了2023年几款最热......
  • Charles工具在Windows系统中无法打开(闪退)
    Charles抓包工具之前装得好好的,突然打不开了;或者你重新安装了Charles但故障依旧。排查问题1、在charles安装文件夹(如:D:\ProgramFiles\Charles)在路径中,输入cmd。(或Ctrl+R,输入cmd打开后定位到安装文件中)2、cmd中输入命令Charles.exe然后会提示如下错误 搜索解决方案解释:是......