資料介紹
今天給大家介紹一款騰訊自主研發(fā),榮獲2015年十佳組件的“tMemoryMonitor”內(nèi)存泄漏分析工具。該騰訊內(nèi)部工具已經(jīng)在騰訊WeTest官網(wǎng)內(nèi)開(kāi)放給用戶使用,助您在工作中掃除內(nèi)存泄露問(wèn)題,讓工作精益求精。
鏈接:wetest.qq.com
工具使用入口
【工具簡(jiǎn)介】
tMemoryMonitor簡(jiǎn)稱TMM,是一款運(yùn)行時(shí)C/C++內(nèi)存泄漏檢測(cè)工具。TMM認(rèn)為在進(jìn)程退出時(shí),內(nèi)存中沒(méi)有被釋放且沒(méi)有指針指向的無(wú)助內(nèi)存塊即為內(nèi)存泄漏,并進(jìn)而引入垃圾回收機(jī)制,在進(jìn)程退出時(shí)檢測(cè)出堆內(nèi)存中所有沒(méi)有被引用的內(nèi)存單元,因而內(nèi)存泄漏檢測(cè)準(zhǔn)確率為100%。TMM下載地址:http://wetest.qq.com/cloud/index.php/index/TMM
【開(kāi)發(fā)目的】
防泄漏測(cè)試一直是編程測(cè)試中非常重要的一個(gè)模塊,盡管目前市面上已有一些Windows平臺(tái)下的內(nèi)存泄漏動(dòng)態(tài)檢測(cè)工具,比如UMDH,VLD,Purify,BoundsCheck等,但其中Purify和BoundsCheck是昂貴的商用軟件,UMDH需要人工獲取內(nèi)存快照,操作門(mén)檻較高,VLD則需要修改源程序的代碼,同時(shí)這幾款工具都存在誤報(bào)情況,因此準(zhǔn)確性不高。而我們的tMemMonitor就是一款針對(duì)Windows平臺(tái)專業(yè)、準(zhǔn)確、易用的內(nèi)存泄漏分析工具。
目前正使用TMM的騰訊團(tuán)隊(duì)
【算法原理】
Windows 中有多種級(jí)別的內(nèi)存分配函數(shù),其中,最底層的是ntdll.dll 提供的Rtl 系列函數(shù),在這之上的有Windows API 提供的heap 管理函數(shù),再上層,C/C++庫(kù)提供了malloc/free 函數(shù)和new/delete 操作符,因此替換如此層級(jí)復(fù)雜的函數(shù)比較困難,同時(shí)如果替換現(xiàn)有的堆分配函數(shù),則無(wú)法做到和原有函數(shù)的執(zhí)行效果完全一致,所以替換原生的堆分配函數(shù)對(duì)于Windows 系統(tǒng)來(lái)說(shuō)幾乎是不可行的,那么只能wrap(包裹)這些堆分配函數(shù)。
Linux 下的內(nèi)存檢測(cè)工具,比如Valgrind 就采用了包裹堆分配函數(shù)的方法,但它包裹的方法是不透明的,在調(diào)用棧中會(huì)多出額外一幀。TMM 則采用全透明的包裹函數(shù),將掛鉤函數(shù)分為前后二部分(如圖1 所示)。在函數(shù)調(diào)用前執(zhí)行
per-hook 函數(shù),在函數(shù)返回前調(diào)用執(zhí)行post-hook 函數(shù)。有了前后掛鉤函數(shù),TMM就可以在堆分配/釋放函數(shù)執(zhí)行前獲得參數(shù),并修改分配大小之類的參數(shù);在函數(shù)執(zhí)行后,記錄分配的大小和地址、調(diào)用棧之類的信息。
【案例介紹】
下面我們通過(guò)測(cè)試市面上一款我們常用的音樂(lè)軟件,來(lái)看看這款軟件能給我們帶來(lái)怎樣的收益。
在擁有Administrator權(quán)限的情況下啟動(dòng)TMM,然后在列表區(qū)添加X(jué)X音樂(lè)這款軟件,就已經(jīng)成功在TMM中加載了這款程序。
1.我們?cè)赬X音樂(lè)中隨意選擇一首歌進(jìn)行播放
2.播放結(jié)束后正常退出XX音樂(lè),這時(shí)TMM就會(huì)彈出一個(gè)名為“data”文件夾,里面包括著在播放音樂(lè)期間的數(shù)據(jù)泄漏詳情
3.點(diǎn)開(kāi)文檔后就能詳細(xì)查看文件泄漏的具體報(bào)告
鏈接:wetest.qq.com
工具使用入口
【工具簡(jiǎn)介】
tMemoryMonitor簡(jiǎn)稱TMM,是一款運(yùn)行時(shí)C/C++內(nèi)存泄漏檢測(cè)工具。TMM認(rèn)為在進(jìn)程退出時(shí),內(nèi)存中沒(méi)有被釋放且沒(méi)有指針指向的無(wú)助內(nèi)存塊即為內(nèi)存泄漏,并進(jìn)而引入垃圾回收機(jī)制,在進(jìn)程退出時(shí)檢測(cè)出堆內(nèi)存中所有沒(méi)有被引用的內(nèi)存單元,因而內(nèi)存泄漏檢測(cè)準(zhǔn)確率為100%。TMM下載地址:http://wetest.qq.com/cloud/index.php/index/TMM
【開(kāi)發(fā)目的】
防泄漏測(cè)試一直是編程測(cè)試中非常重要的一個(gè)模塊,盡管目前市面上已有一些Windows平臺(tái)下的內(nèi)存泄漏動(dòng)態(tài)檢測(cè)工具,比如UMDH,VLD,Purify,BoundsCheck等,但其中Purify和BoundsCheck是昂貴的商用軟件,UMDH需要人工獲取內(nèi)存快照,操作門(mén)檻較高,VLD則需要修改源程序的代碼,同時(shí)這幾款工具都存在誤報(bào)情況,因此準(zhǔn)確性不高。而我們的tMemMonitor就是一款針對(duì)Windows平臺(tái)專業(yè)、準(zhǔn)確、易用的內(nèi)存泄漏分析工具。
目前正使用TMM的騰訊團(tuán)隊(duì)
【算法原理】
Windows 中有多種級(jí)別的內(nèi)存分配函數(shù),其中,最底層的是ntdll.dll 提供的Rtl 系列函數(shù),在這之上的有Windows API 提供的heap 管理函數(shù),再上層,C/C++庫(kù)提供了malloc/free 函數(shù)和new/delete 操作符,因此替換如此層級(jí)復(fù)雜的函數(shù)比較困難,同時(shí)如果替換現(xiàn)有的堆分配函數(shù),則無(wú)法做到和原有函數(shù)的執(zhí)行效果完全一致,所以替換原生的堆分配函數(shù)對(duì)于Windows 系統(tǒng)來(lái)說(shuō)幾乎是不可行的,那么只能wrap(包裹)這些堆分配函數(shù)。
Linux 下的內(nèi)存檢測(cè)工具,比如Valgrind 就采用了包裹堆分配函數(shù)的方法,但它包裹的方法是不透明的,在調(diào)用棧中會(huì)多出額外一幀。TMM 則采用全透明的包裹函數(shù),將掛鉤函數(shù)分為前后二部分(如圖1 所示)。在函數(shù)調(diào)用前執(zhí)行
per-hook 函數(shù),在函數(shù)返回前調(diào)用執(zhí)行post-hook 函數(shù)。有了前后掛鉤函數(shù),TMM就可以在堆分配/釋放函數(shù)執(zhí)行前獲得參數(shù),并修改分配大小之類的參數(shù);在函數(shù)執(zhí)行后,記錄分配的大小和地址、調(diào)用棧之類的信息。
【案例介紹】
下面我們通過(guò)測(cè)試市面上一款我們常用的音樂(lè)軟件,來(lái)看看這款軟件能給我們帶來(lái)怎樣的收益。
在擁有Administrator權(quán)限的情況下啟動(dòng)TMM,然后在列表區(qū)添加X(jué)X音樂(lè)這款軟件,就已經(jīng)成功在TMM中加載了這款程序。
1.我們?cè)赬X音樂(lè)中隨意選擇一首歌進(jìn)行播放
2.播放結(jié)束后正常退出XX音樂(lè),這時(shí)TMM就會(huì)彈出一個(gè)名為“data”文件夾,里面包括著在播放音樂(lè)期間的數(shù)據(jù)泄漏詳情
3.點(diǎn)開(kāi)文檔后就能詳細(xì)查看文件泄漏的具體報(bào)告
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 5G AAU 功放控制和監(jiān)測(cè)模塊簡(jiǎn)析
- 基于機(jī)器學(xué)習(xí)的內(nèi)存泄漏測(cè)試腳本預(yù)測(cè)方法 29次下載
- 簡(jiǎn)析獲取單片機(jī)代碼運(yùn)行時(shí)間的方法資料下載
- 簡(jiǎn)析光耦電路中為何有串聯(lián)與并聯(lián)電阻資料下載
- 簡(jiǎn)析三極管開(kāi)關(guān)電路設(shè)計(jì)資料下載
- 簡(jiǎn)析比較器的原理及應(yīng)用資料下載
- 簡(jiǎn)析555電壓檢測(cè)電路資料下載
- 簡(jiǎn)析運(yùn)放并聯(lián)的可行性資料下載
- 簡(jiǎn)析晶振振蕩電路的設(shè)計(jì)資料下載
- 簡(jiǎn)析用電阻設(shè)定增益的單端至差分轉(zhuǎn)換器資料下載
- 嵌入式裝置內(nèi)存泄漏檢測(cè)系統(tǒng)設(shè)計(jì) 3次下載
- 基于混合執(zhí)行測(cè)試的靜態(tài)內(nèi)存泄漏警報(bào)的自動(dòng)化確認(rèn)方法 0次下載
- C++內(nèi)存泄漏分析方法 5次下載
- 鼠標(biāo)HID例程(中)簡(jiǎn)析 0次下載
- 基于ATM理念的UTRAN傳輸架構(gòu)簡(jiǎn)析
- 堆棧和內(nèi)存的基本知識(shí) 191次閱讀
- Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機(jī)如何分析 269次閱讀
- Windows下編譯工具CMake的安裝和最簡(jiǎn)使用 5948次閱讀
- 用于分析可執(zhí)行程序和內(nèi)存轉(zhuǎn)儲(chǔ)的命令行工具介紹 998次閱讀
- 記一次Rust內(nèi)存泄漏排查之旅 590次閱讀
- valgrind檢測(cè)內(nèi)存問(wèn)題的原理 1864次閱讀
- 基于智能狀態(tài)和源代碼插樁的C程序內(nèi)存安全性動(dòng)態(tài)分析 1311次閱讀
- 使用valgrind的callgrind工具進(jìn)行多線程性能分析 2854次閱讀
- C語(yǔ)言使用中指針和內(nèi)存泄漏的問(wèn)題和解決方案 4102次閱讀
- Android內(nèi)存管理機(jī)制與分析工具 4446次閱讀
- 閃存分析:意外內(nèi)存泄漏問(wèn)題 1263次閱讀
- 內(nèi)存的內(nèi)部運(yùn)轉(zhuǎn)和工作的分析 6204次閱讀
- 解析Web內(nèi)存分析與內(nèi)存泄漏定位 2380次閱讀
- C語(yǔ)言內(nèi)存泄漏的兩種類型 1875次閱讀
- 簡(jiǎn)狀電爐內(nèi)部恒溫控制電路 3310次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多