valgrind是一套linux下,開放源**(gpl v2)的**除錯工具的集合。valgrind由核心(core)以及基於核心的其他除錯工具組成。核心類似於乙個框架(framework),它模擬了乙個cpu環境,並提供服務給其他工具;而其他工具則類似於外掛程式 (plug-in),利用核心提供的服務完成各種特定的記憶體除錯任務。valgrind的體系結構如下圖所示:
圖 1 valgrind 體系結構
memcheck。這是valgrind應用最廣泛的工具,乙個重量級的記憶體檢查器,能夠發現開發中絕大多數記憶體錯誤使用情況,比如:使用未初始化的記憶體,使用已經釋放了的記憶體,記憶體訪問越界等。這也是本文將重點介紹的部分。
callgrind。它主要用來檢查程式中函式呼叫過程**現的問題。
cachegrind。它主要用來檢查程式中快取使用出現的問題。
helgrind。它主要用來檢查多執行緒程式**現的競爭問題。
massif。它主要用來檢查程式中堆疊使用**現的問題。
extension。可以利用core提供的功能,自己編寫特定的記憶體除錯工具。
Valgrind 記憶體檢測工具
valgrind是乙個gpl的軟體,用於linux for x86,amd64 and ppc32 程式的記憶體除錯和 剖析。你可以在它的環境中執行你的程式來監視記憶體的使用情況,比如c 語言中的malloc和free或者 c 中的new和 delete。使用valgrind的工具包,你可以自動的檢...
記憶體洩露檢測工具 valgrind
valgrind 安裝 2.解壓安裝包 tar jxvf valgrind 3.2.3.tar.bz2 3.解壓後生成目錄valgrind 3.2.3 4.cd valgrind 3.2.3 5.執行.autogen.sh設定環境 需要標準的autoconf工具 可選 6.configure 配置v...
valgrind記憶體洩露檢測工具
一 安裝 valgrind linux環境首先進入root使用者 然後執行下面的命令 tar jxvf valgrind 3.12.0.tar.bz2 cd valgrind 3.12.0 configure make make install valgrind version 檢視valgrind...