linux下使用valgrind檢視記憶體洩漏

2021-08-28 23:14:58 字數 1024 閱讀 2994

進入解壓後的資料夾,執行:./autogen.sh

執行:./configure --prefix=/home/valgrind(安裝路徑)

執行:make

執行:make install

安裝完畢,在資料夾內執行:./valgrind ls -l,驗證是否安裝成功

為了方便使用,可以將安裝路徑加入系統path:vim ~/.bashrc ,在最後一行添上: export path=/usr/local/bin:$path ,輸入「source ~/.bashrc」命令,立即生效

使用時,先進入可執行程式所在目錄,然後執行:valgrind -v --log-file=valgrind.log --tool=memcheck --leak-check=full --show-mismatched-frees=yes main(可執行程式名)

在生成的valgrind.log日誌檔案中,搜尋leak summary可以看到如下彙總資訊:

==42253== leak summary:

==42253==    definitely lost: 128,064 bytes in 2,001 blocks

==42253==    indirectly lost: 0 bytes in 0 blocks

==42253==      possibly lost: 556,272 bytes in 193 blocks

==42253==    still reachable: 3,995,215 bytes in 10,450 blocks

==42253==                       of which reachable via heuristic:

==42253==                         stdstring          : 60,922 bytes in 1,598 blocks

==42253==         suppressed: 0 bytes in 0 blocks

其中標明了確定洩漏的,可能洩漏的,以及各種堆疊資訊。

Linux下的記憶體除錯工具 valgrind

valgrind 工具包包含多個工具,如memcheck,cachegrind,helgrind,callgrind,massif。下面分別介紹個工具的作用 一 memcheck 工具主要檢查下面的程式錯誤 使用未初始化的記憶體 使用已經釋放了的記憶體 使用超過 malloc分配的記憶體空間 對堆疊...

linux開發工具 記憶體檢測 Valgrind

一.安裝 專案 http valgrind.org centos 完整安裝已經包含有 valgrind。二.使用用 c c 開發其中最令人頭疼的乙個問題就是記憶體管理,有時候為了查詢乙個記憶體洩漏或者乙個記憶體訪問越界,需要要花上好幾天時間,如果有一款工具能夠幫助我們做這件事情就好了,valgrin...

Linux記憶體洩漏檢查工具 valgrind

valgrind工具功能很多,可以動態檢測程式執行時的問題,其中一項就是檢測記憶體洩漏。使用方法 valgrind options prog and args 用例 問題程式 memleak.c include include main int argc,char argv 執行程式 valgrin...