東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫(kù)|最新更新|下載分類|排行榜

開(kāi)關(guān)定時(shí)系統(tǒng)增強(qiáng)磁盤(pán)工具安裝制作內(nèi)存工具卸載清除備份恢復(fù)系統(tǒng)其它桌面工具CPU相關(guān)虛擬機(jī)

首頁(yè)系統(tǒng)工具內(nèi)存工具 → 內(nèi)存泄露查找清理軟件(MemProof) v0.9.4.8 綠色免費(fèi)版

內(nèi)存泄露查找清理軟件(MemProof)

內(nèi)存泄露查找清理軟件(MemProof)v0.9.4.8 綠色免費(fèi)版

  • 大。1.8M
  • 語(yǔ)言:英文
  • 平臺(tái):WinXP, WinAll
  • 更新:2013-07-09 08:34
  • 等級(jí):
  • 類型:內(nèi)存工具
  • 網(wǎng)站:暫無(wú)
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國(guó)外軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評(píng)論下載地址

一般來(lái)說(shuō)內(nèi)存泄露是常見(jiàn)的問(wèn)題,那么怎么處理它呢?這里給大家分享一款內(nèi)存泄露查找清理軟件(MemProof),使用它可以快速的查找內(nèi)存和資源的泄露,幫助您更好的檢測(cè)和處理您的系統(tǒng)。

軟件說(shuō)明:

內(nèi)存泄露查找清理軟件(MemProof) 是AutomatedQA出品的一款非常不錯(cuò)的檢測(cè)內(nèi)存泄漏和資源泄漏的免費(fèi)調(diào)試工具,適合于WIN32平臺(tái)下使用DELPHI/C++ BUILDER開(kāi)發(fā)的應(yīng)用程序。利用它可以方便的查找出一些忘記釋放的指針以及資源。它通過(guò)在調(diào)試模式下運(yùn)行目標(biāo)程序,監(jiān)視程序的創(chuàng)建和釋放操作,以達(dá)到檢測(cè)資源泄漏的效果。監(jiān)測(cè)過(guò)程中它會(huì)根據(jù)資源類型計(jì)數(shù),每次創(chuàng)建后增加計(jì)數(shù),釋放則遞減計(jì)數(shù),最后程序結(jié)束根據(jù)計(jì)數(shù)即可判斷出資源的泄漏。

安裝說(shuō)明:

MemProof是一個(gè)綠色軟件,下載完成后解壓,運(yùn)行MemProof.exe即可。

使用說(shuō)明:

MemProof要求目標(biāo)程序帶有完整的調(diào)試信息。打開(kāi)工程選項(xiàng)(Project-Options)

1、  Compiler面板

去掉Optimization(代碼優(yōu)化)選項(xiàng)

選擇Stack Frames(為所有過(guò)程函數(shù)強(qiáng)制生成調(diào)用堆棧)選項(xiàng)

選擇Debug information (在DCU文件中生成調(diào)試信息)選項(xiàng)

選擇Use Debug DCUS(編譯時(shí)鏈接帶有調(diào)試信息的VCL DCU文件)選項(xiàng)

2、  Linker面板

選擇Detailed(生成完整的MAP文件,包含模塊、單元、過(guò)程等地址信息)選項(xiàng)

選擇Include TD32 debug info(將調(diào)試信息生成到可執(zhí)行文件)選項(xiàng)

該選項(xiàng)會(huì)導(dǎo)致可執(zhí)行文件體積增大,但不會(huì)影響運(yùn)行效率以及內(nèi)存占用,建議在正式發(fā)布時(shí)不要帶上該選項(xiàng)。

打開(kāi)MemProof:

Resources –資源的類型,包括Error(錯(cuò)誤)、Pointers(指針)、Memory(內(nèi)存)、GDI(畫(huà)布資源)、User(系統(tǒng)對(duì)象)、Kernel(核心對(duì)象)、Registry(注冊(cè)表)。

Resources Count –資源數(shù)目,Current#代表當(dāng)前數(shù)目,Peak#代表峰值數(shù)目

Resources Size –資源大小,Current#代表當(dāng)前大小,Peak#代表峰值大小

選擇File-Open打開(kāi)要調(diào)試的執(zhí)行文件,再選擇Run-Run開(kāi)始運(yùn)行,再正常退出目標(biāo)程序,如果有資源泄漏MemProof會(huì)自動(dòng)打開(kāi)Resources Details面板:

MemProof共列出5個(gè)內(nèi)存泄漏,我們可以看到每個(gè)內(nèi)存泄漏都有詳細(xì)的調(diào)用棧情況,以及相對(duì)應(yīng)的源碼位置。

有時(shí)它會(huì)提示我們找不到對(duì)應(yīng)的源碼,這是應(yīng)為沒(méi)有指定源碼搜索路徑的原因。MemProof有兩個(gè)位置可以設(shè)置源碼搜索路徑,一個(gè)在Configure- Search Directories,一個(gè)在Projects-Search Directories。前者是設(shè)置全局路徑,后者是設(shè)置當(dāng)前路徑。一般建議在前者中設(shè)置DELPHI的VCL以及共用庫(kù)代碼的路徑,后者設(shè)置工程本身源碼的路徑。MemProof還為用戶提供了快捷搜索VCL源碼路徑的按鈕Get Default for,使用這個(gè)按鈕可以快捷的獲取DELPHI的Libray Path(有的用戶安裝了VC覆蓋了默認(rèn)調(diào)試工具選項(xiàng),所以有可能得到的是VC的Libray Path,這種情況可以直接到DELPHI的Libray Path中去拷貝即可)。

如果需要測(cè)試動(dòng)態(tài)連接庫(kù),可以選擇Project-Parameters,在Host Applications中選擇主體程序,如果需要帶命令行,則在Parameters中輸入命令行,然后就可以開(kāi)始測(cè)試了,和DELPHI中調(diào)試的方法是一樣的。MemProof不支持Attach Process的調(diào)試方式,這是一個(gè)不足的地方。

使用其實(shí)非常簡(jiǎn)單,一看就明白了,下面介紹些調(diào)試中的經(jīng)驗(yàn)技巧。

使用技巧:

漸進(jìn)式測(cè)試,從最易發(fā)現(xiàn)的錯(cuò)誤開(kāi)始解決

一個(gè)大型的軟件可能會(huì)有很多泄漏或者錯(cuò)誤,這個(gè)時(shí)候可以漸進(jìn)式的來(lái)測(cè)試,第一次測(cè)試可以直接運(yùn)行后立即退出,檢測(cè)在加載的過(guò)程中是否存在泄漏,然后逐一更正。再分功能模塊進(jìn)行測(cè)試,比如只針對(duì)某個(gè)功能進(jìn)行操作,然后退出檢測(cè)該模塊是否存在泄漏,如果存在,更正。最后再進(jìn)行整體測(cè)試。這樣可以避免一些關(guān)聯(lián)性錯(cuò)誤導(dǎo)致重復(fù)測(cè)試,而且可以節(jié)省測(cè)試時(shí)間,可以使測(cè)試更有針對(duì)性。

分模塊測(cè)試,從單個(gè)的模塊開(kāi)始解決

和上一條原則一樣,為了縮小測(cè)試面。在Projects的Moudle Configers中選擇測(cè)試的模塊,開(kāi)始每次只選擇一個(gè)模塊針對(duì)性測(cè)試,最后再選擇所有模塊測(cè)試。注意:不要選擇一些如:Ole32.dll、kernel32.dll等系統(tǒng)模塊。

錯(cuò)誤優(yōu)先,發(fā)現(xiàn)錯(cuò)誤與泄漏并存時(shí),優(yōu)先解決錯(cuò)誤

測(cè)試過(guò)程中,代表錯(cuò)誤,這些錯(cuò)誤往往是由于錯(cuò)誤的使用系統(tǒng)API導(dǎo)致,如:釋放不存在的句柄,訪問(wèn)權(quán)限不夠的資源,傳遞了錯(cuò)誤的調(diào)用參數(shù)等。這些錯(cuò)誤往往會(huì)導(dǎo)致代碼沒(méi)有按照預(yù)計(jì)的方式運(yùn)行,觸發(fā)一些內(nèi)存泄漏。所以,需要優(yōu)先修正這些位置。

系統(tǒng)資源優(yōu)先,發(fā)現(xiàn)有GDI、User、Kernel、Registry等存在泄漏時(shí)優(yōu)先解決

系統(tǒng)資源泄漏往往是由于窗體、畫(huà)布等資源沒(méi)有及時(shí)釋放,這些錯(cuò)誤非常明顯,而且這種錯(cuò)誤往往會(huì)帶有很多的Pointers、Memory泄漏,所以,優(yōu)先修正

什么是內(nèi)存泄露?

一般我們常說(shuō)的內(nèi)存泄漏是指堆內(nèi)存的泄漏。堆內(nèi)存是指程序從堆中分配的,大小任意的(內(nèi)存塊的大小可以在程序運(yùn)行期決定),使用完后必須顯式釋放的內(nèi)存。應(yīng)用程序一般使用malloc,calloc,realloc,new等函數(shù)從堆中分配到一塊內(nèi)存,使用完后,程序必須負(fù)責(zé)相應(yīng)的調(diào)用free或delete釋放該內(nèi)存塊,否則,這塊內(nèi)存就不能被再次使用,我們就說(shuō)這塊內(nèi)存泄漏了。
內(nèi)存泄漏是常見(jiàn)的問(wèn)題。當(dāng)以前分配的一片內(nèi)存不再需要使用或無(wú)法訪問(wèn)時(shí),但是卻并沒(méi)有釋放它,那么對(duì)于該進(jìn)程來(lái)說(shuō),會(huì)因此導(dǎo)致總可用內(nèi)存的減少,這時(shí)就出現(xiàn)了內(nèi)存泄漏。盡管優(yōu)秀的編程實(shí)踐可以確保最少的泄漏,但是根據(jù)經(jīng)驗(yàn),當(dāng)使用大量的函數(shù)對(duì)相同的內(nèi)存塊進(jìn)行處理時(shí),很可能會(huì)出現(xiàn)內(nèi)存泄漏。尤其是在碰到錯(cuò)誤路徑的情況下更是如此。

怎么解決內(nèi)存泄露問(wèn)題?

1. 一般內(nèi)存泄露都是在new 和delete 或malloc和free沒(méi)有成對(duì)使用的情況下產(chǎn)生的。在代碼量較少的情況下可自行檢測(cè)。確保兩著成對(duì)使用。
2. c++中有智能指針的概念,sp和wp。這也是內(nèi)存管理,避免內(nèi)存泄露的一個(gè)方法。不過(guò)這個(gè)概念相對(duì)難度大一些。lz感興趣的話可以上網(wǎng)搜關(guān)鍵字“C++智能指針”。
3.在一些大的軟件工程中,一般在代碼設(shè)計(jì)完成后,會(huì)使用一些代碼檢測(cè)工具對(duì)代碼的運(yùn)行進(jìn)行跟蹤。這里就包括對(duì)內(nèi)存泄露問(wèn)題的檢測(cè),常用的工具有valgrind,它會(huì)在跟著整個(gè)程序運(yùn)行一遍后顯示內(nèi)存的使用和釋放情況。valgrind使用方法不難,lz可上網(wǎng)搜索相應(yīng)教程。

內(nèi)存優(yōu)化工具(Wise Memory Optimizer)
類型:內(nèi)存工具大。1016KB語(yǔ)言:多國(guó)語(yǔ)言[中文]時(shí)間:8-14評(píng)分:7.5

PC官方
安卓官方手機(jī)版
IOS官方手機(jī)版

內(nèi)存泄露查找清理軟件(MemProof)截圖

下載地址

內(nèi)存泄露查找清理軟件(MemProof) v0.9.4.8 綠色免費(fèi)版

熱門(mén)評(píng)論
最新評(píng)論
第 1 樓 上海有線通 網(wǎng)友 東坡網(wǎng)友 發(fā)表于: 2019/1/17 14:55:53
可以根据字节、MD5、SHA等多种方式来快速扫描 你的电脑,然后帮你找出并清理掉隐藏在电脑内的各种重复文件,最大化利用硬盘空间资源。

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評(píng)論 查看所有評(píng)論(1)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

編輯推薦

報(bào)錯(cuò)

請(qǐng)簡(jiǎn)要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式