|
||||
關(guān)注測試,也關(guān)注成長 |
公告
日歷
統(tǒng)計
導(dǎo)航常用鏈接留言簿(17)隨筆分類
隨筆檔案
搜索最新評論
閱讀排行榜評論排行榜 |
1.ccmalloc-Linux和Solaris下對C和C++程序的簡單的使用內(nèi)存泄漏和malloc調(diào)試庫。
2.Dmalloc-Debug Malloc Library. 3.Electric Fence-Linux分發(fā)版中由Bruce Perens編寫的malloc()調(diào)試庫。 4.Leaky-Linux下檢測內(nèi)存泄漏的程序。 5.LeakTracer-Linux、Solaris和HP-UX下跟蹤和分析C++程序中的內(nèi)存泄漏。 6.MEMWATCH-由Johan Lindh編寫,是一個開放源代碼C語言內(nèi)存錯誤檢測工具,主要是通過gcc的precessor來進行。 7.Valgrind-Debugging and profiling Linux programs, aiming at programs written in C and C++. 8.KCachegrind-A visualization tool for the profiling data generated by Cachegrind and Calltree. 9.IBM Rational PurifyPlus-幫助開發(fā)人員查明C/C++、托管.NET、Java和VB6代碼中的性能和可靠性錯誤。PurifyPlus 將內(nèi)存錯誤和泄漏檢測、應(yīng)用程序性能描述、代碼覆蓋分析等功能組合在一個單一、完整的工具包中。 10.Parasoft Insure++-針對C/C++應(yīng)用的運行時錯誤自動檢測工具,它能夠自動監(jiān)測C/C++程序,發(fā)現(xiàn)其中存在著的內(nèi)存破壞、內(nèi)存泄漏、指針錯誤和I/O等錯誤。并通過使用一系列獨特的技術(shù)(SCI技術(shù)和變異測試等),徹底的檢查和測試我們的代碼,精確定位錯誤的準(zhǔn)確位置并給出詳細(xì)的診斷信息。能作為Microsoft Visual C++的一個插件運行。 11.Compuware DevPartner for Visual C++ BoundsChecker Suite-為C++開發(fā)者設(shè)計的運行錯誤檢測和調(diào)試工具軟件。作為Microsoft Visual Studio和C++ 6.0的一個插件運行。 12.Electric Software GlowCode-包括內(nèi)存泄漏檢查,code profiler,函數(shù)調(diào)用跟蹤等功能。給C++和.Net開發(fā)者提供完整的錯誤診斷,和運行時性能分析工具包。 13.Compuware DevPartner Java Edition-包含Java內(nèi)存檢測,代碼覆蓋率測試,代碼性能測試,線程死鎖,分布式應(yīng)用等幾大功能模塊。 14.Quest JProbe-分析Java的內(nèi)存泄漏。 15.ej-technologies JProfiler-一個全功能的Java剖析工具,專用于分析J2SE和J2EE應(yīng)用程序。它把CPU、執(zhí)行緒和內(nèi)存的剖析組合在一個強大的應(yīng)用中。JProfiler可提供許多IDE整合和應(yīng)用服務(wù)器整合用途。JProfiler直覺式的GUI讓你可以找到效能瓶頸、抓出內(nèi)存泄漏、并解決執(zhí)行緒的問題。4.3.2注冊碼:A-G666#76114F-1olm9mv1i5uuly#0126 16.BEA JRockit-用來診斷Java內(nèi)存泄漏并指出根本原因,專門針對Intel平臺并得到優(yōu)化,能在Intel硬件上獲得最高的性能。 附錄:內(nèi)存泄漏的發(fā)生方式 1.常發(fā)性內(nèi)存泄漏。發(fā)生內(nèi)存泄漏的代碼會被多次執(zhí)行到,每次被執(zhí)行的時候都會導(dǎo)致一塊內(nèi)存泄漏。 2.偶發(fā)性內(nèi)存泄漏。發(fā)生內(nèi)存泄漏的代碼只有在某些特定環(huán)境或操作過程下才會發(fā)生。常發(fā)性和偶發(fā)性是相對的。對于特定的環(huán)境,偶發(fā)性的也許就變成了常發(fā)性的。所以測試環(huán)境和測試方法對檢測內(nèi)存泄漏至關(guān)重要。 3.一次性內(nèi)存泄漏。發(fā)生內(nèi)存泄漏的代碼只會被執(zhí)行一次,或者由于算法上的缺陷,導(dǎo)致總會有一塊且僅有一塊內(nèi)存發(fā)生泄漏。 4.隱式內(nèi)存泄漏。程序在運行過程中不停的分配內(nèi)存,但是直到結(jié)束的時候才釋放內(nèi)存。嚴(yán)格的說這里并沒有發(fā)生內(nèi)存泄漏,因為最終程序釋放了所有申請的內(nèi)存。但是對于一個服務(wù)器程序,需要運行幾天,幾周甚至幾個月,不及時釋放內(nèi)存也可能導(dǎo)致最終耗盡系統(tǒng)的所有內(nèi)存。所以,我們稱這類內(nèi)存泄漏為隱式內(nèi)存泄漏。 原文:http://fafeng.blogbus.com/logs/7525571.html PS:內(nèi)存泄漏分析是一項比較復(fù)雜的工程,人對內(nèi)存泄漏的深刻理解才是最重要的,因為工具有時候無法檢測出內(nèi)存泄漏。
評論:
|
![]() |
|
Copyright © Cinderella | Powered by: 博客園 模板提供:滬江博客 |