回覆列表
  • 1 # 使用者8145404483436

    記憶體洩漏指由於疏忽或錯誤造成程式未能釋放已經不再使用的記憶體的情況。記憶體洩漏並非指記憶體在物理上的消失,而是應用程式分配某段記憶體後,由於設計錯誤,失去了對該段記憶體的控制,因而造成了記憶體的浪費。

    可以使用相應的軟體測試工具對軟體進行檢測。

    1.ccmalloc-Linux和Solaris下對C和C++程式的簡單的使用記憶體洩漏和malloc除錯庫。

    2.Dmalloc-DebugMallocLibrary.

    3.Electric

    Fence-Linux分發版中由BrucePerens編寫的malloc()除錯庫。

    4.Leaky-Linux下檢測記憶體洩漏的程式。

    5.LeakTracer-Linux、Solaris和HP-UX下跟蹤和分析C++程式中的記憶體洩漏。

    6.MEMWATCH-由Johan

    Lindh編寫,是一個開放原始碼C語言記憶體錯誤檢測工具,主要是透過gcc的precessor來進行。

    7.Valgrind-DebuggingandprofilingLinuxprograms,aimingat

    programswritteninCandC++.

    8.KCachegrind-Avisualizationtoolfortheprofilingdata

    generatedbyCachegrindandCalltree.

    9.Leak

    Monitor-一個Firefox擴充套件,能找出跟Firefox相關的洩漏型別。

    10.IELeakDetector

    (Drip/IESieve)-Drip和IESieveleak

    detectors幫助網頁開發員提升動態網頁效能透過報告可避免的因為IE侷限的記憶體洩漏。

    11.WindowsLeaks

    Detector-探測任何Win32應用程式中的任何資源洩漏(記憶體,控制代碼等),基於WinAPI呼叫鉤子。

    12.SAPMemory

    Analyzer-是一款開源的JAVA記憶體分析軟體,可用於輔助查詢JAVA程式的記憶體洩漏,能容易找到大塊記憶體並驗證誰在一直佔用它,它是基於Eclipse

    RCP(RichClientPlatform),可以下載RCP的獨立版本或者Eclipse的外掛。

    13.DTrace-即動態跟蹤Dynamic

    Tracing,是一款開源軟體,能在Unix類似平臺執行,使用者能夠動態檢測作業系統核心和使用者程序,以更精確地掌握系統的資源使用狀況,提高系統性能,減少支援成本,並進行有效的調節。

    14.IBMRationalPurifyPlus-幫助開發人員查明C/C++、託管.NET、Java和VB6程式碼中的效能和可靠性錯誤。PurifyPlus

    將記憶體錯誤和洩漏檢測、應用程式效能描述、程式碼覆蓋分析等功能組合在一個單一、完整的工具包中。

    15.ParasoftInsure++-針對C/C++應用的執行時錯誤自動檢測工具,它能夠自動監測C/C++程式,發現其中存在著的記憶體破壞、記憶體洩漏、指標錯誤和I/O等錯誤。並透過使用一系列獨特的技術(SCI技術和變異測試等),徹底的檢查和測試我們的程式碼,精確定位錯誤的準確位置並給出詳細的診斷資訊。能作為Microsoft

    VisualC++的一個外掛執行。

    16.CompuwareDevPartnerforVisualC++BoundsChecker

    Suite-為C++開發者設計的執行錯誤檢測和除錯工具軟體。作為MicrosoftVisualStudio和C++6.0的一個外掛執行。

    17.ElectricSoftwareGlowCode-包括記憶體洩漏檢查,code

    profiler,函式呼叫跟蹤等功能。給C++和.Net開發者提供完整的錯誤診斷,和執行時效能分析工具包。

    18.CompuwareDevPartnerJava

    Edition-包含Java記憶體檢測,程式碼覆蓋率測試,程式碼效能測試,執行緒死鎖,分散式應用等幾大功能模組。

    19.QuestJProbe-分析Java的記憶體洩漏。

    20.ej-technologiesJProfiler-一個全功能的Java剖析工具,專用於分析J2SE和J2EE應用程式。它把CPU、執行緒和記憶體的剖析組合在一個強大的應用中。JProfiler可提供許多IDE整合和應用伺服器整合用途。JProfiler直覺式的GUI讓你可以找到效能瓶頸、抓出記憶體洩漏、並解決執行緒的問題。4.3.2註冊碼:A-G666#76114F-1olm9mv1i5uuly#0126

    21.BEAJRockit-用來診斷Java記憶體洩漏並指出根本原因,專門針對Intel平臺並得到最佳化,能在Intel硬體上獲得最高的效能。

    22.SciTechSoftwareAB.NETMemory

    Profiler-找到記憶體洩漏並最佳化記憶體使用針對C#,VB.Net,或其它.Net程式。

    23.YourKit.NET&JavaProfiler-業界領先的Java和.NET程式效能分析工具。

    24.AutomatedQAAQTime-AutomatedQA的獲獎產品performanceprofiling和memory

    debugging工具集的下一代替換產品,支援Microsoft,Borland,Intel,Compaq和

    GNU編譯器。可以為.NET和Windows程式生成全面細緻的報告,從而幫助您輕鬆隔離並排除程式碼中含有的效能問題和記憶體/資源洩露問題。支援.Net

    1.0,1.1,2.0,3.0和Windows32/64位應用程式。

    25.JavaScriptMemoryLeakDetector-微軟全球產品開發歐洲團隊(GlobalProduct

    Development-Europeteam,GPDE)

    釋出的一款除錯工具,用來探測JavaScript程式碼中的記憶體洩漏,執行為IE系列的一個外掛。

  • 中秋節和大豐收的關聯?
  • 火影忍者中第二代火影是怎麼死的?