电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>行业软件>腾讯内部内存泄漏分析工具简析

腾讯内部内存泄漏分析工具简析

2017-10-11 | rar | 0.4 MB | 次下载 | 1积分

资料介绍

 今天给大家介绍一款腾讯自主研发,荣获2015年十佳组件的“tMemoryMonitor”内存泄漏分析工具。该腾讯内部工具已经在腾讯WeTest官网内开放给用户使用,助您在工作中扫除内存泄露问题,让工作精益求精。
  链接:wetest.qq.com
  腾讯内部内存泄漏分析工具简析
  工具使用入口
  【工具简介】
  tMemoryMonitor简称TMM,是一款运行时C/C++内存泄漏检测工具。TMM认为在进程退出时,内存中没有被释放且没有指针指向的无助内存块即为内存泄漏,并进而引入垃圾回收机制,在进程退出时检测出堆内存中所有没有被引用的内存单元,因而内存泄漏检测准确率为100%。TMM下载地址:http://wetest.qq.com/cloud/index.php/index/TMM
  【开发目的】
  防泄漏测试一直是编程测试中非常重要的一个模块,尽管目前市面上已有一些Windows平台下的内存泄漏动态检测工具,比如UMDH,VLD,Purify,BoundsCheck等,但其中Purify和BoundsCheck是昂贵的商用软件,UMDH需要人工获取内存快照,操作门槛较高,VLD则需要修改源程序的代码,同时这几款工具都存在误报情况,因此准确性不高。而我们的tMemMonitor就是一款针对Windows平台专业、准确、易用的内存泄漏分析工具。
  
  目前正使用TMM的腾讯团队
  【算法原理】
  Windows 中有多种级别的内存分配函数,其中,最底层的是ntdll.dll 提供的Rtl 系列函数,在这之上的有Windows API 提供的heap 管理函数,再上层,C/C++库提供了malloc/free 函数和new/delete 操作符,因此替换如此层级复杂的函数比较困难,同时如果替换现有的堆分配函数,则无法做到和原有函数的执行效果完全一致,所以替换原生的堆分配函数对于Windows 系统来说几乎是不可行的,那么只能wrap(包裹)这些堆分配函数。
  Linux 下的内存检测工具,比如Valgrind 就采用了包裹堆分配函数的方法,但它包裹的方法是不透明的,在调用栈中会多出额外一帧。TMM 则采用全透明的包裹函数,将挂钩函数分为前后二部分(如图1 所示)。在函数调用前执行
  per-hook 函数,在函数返回前调用执行post-hook 函数。有了前后挂钩函数,TMM就可以在堆分配/释放函数执行前获得参数,并修改分配大小之类的参数;在函数执行后,记录分配的大小和地址、调用栈之类的信息
  【案例介绍】
  下面我们通过测试市面上一款我们常用的音乐软件,来看看这款软件能给我们带来怎样的收益。
  在拥有Administrator权限的情况下启动TMM,然后在列表区添加XX音乐这款软件,就已经成功在TMM中加载了这款程序。
  1.我们在XX音乐中随意选择一首歌进行播放
  2.播放结束后正常退出XX音乐,这时TMM就会弹出一个名为“data”文件夹,里面包括着在播放音乐期间的数据泄漏详情
  3.点开文档后就能详细查看文件泄漏的具体报告
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
  2. 1.93 MB   |  5次下载  |  免费
  3. 2SP3060A/30120A/30160A/30320A/30520A系列数字合成扫频仪使用说明书
  4. 4.16 MB   |  3次下载  |  1 积分
  5. 3具有双通道 DC-DC转换器、由串行接口控制的9通道电机驱动器TPIC2010数据表
  6. 1.15MB   |  2次下载  |  免费
  7. 4USB Type-C PD快充协议智能触发芯片FS312B数据手册
  8. 0.75 MB   |  1次下载  |  免费
  9. 5USB Type_C PD快充协议智能触发芯片FS8025B数据手册
  10. 1.29 MB   |  1次下载  |  免费
  11. 6触摸按键PCB 设计要点V01
  12. 1.42 MB  |  1次下载  |  免费
  13. 75V升压充电两串锂电池充电管理IC FS4058数据手册
  14. 2.98 MB   |  次下载  |  免费
  15. 8真关断同步升压IC FS2009数据手册
  16. 2.08 MB   |  次下载  |  免费

本月

  1. 1DCDC原理详解
  2. 0.98 MB   |  65次下载  |  免费
  3. 2allegro快速入门教程
  4. 1.98 MB   |  36次下载  |  免费
  5. 3FU-7(807)胆机原理图
  6. 11.93 MB   |  25次下载  |  1 积分
  7. 4用于汽车应用的高压电源管理IC TPS65311-Q1数据表
  8. 1.05MB   |  22次下载  |  免费
  9. 5电子元件基础知识介绍
  10. 8.76 MB   |  15次下载  |  2 积分
  11. 6华为海思Ascend 310芯片的资料说明
  12. 0.12 MB   |  10次下载  |  10 积分
  13. 7GD32F10x系列MCU用户手册
  14. 11.5MB   |  9次下载  |  免费
  15. 86A 输出电流同步降压稳压器TPS65286数据表
  16. 2.05MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935083次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420045次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191308次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183308次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73785次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费