valgrind記憶體洩露檢測工具

2021-09-27 05:20:35 字數 1466 閱讀 8264

一、安裝 valgrind

linux環境首先進入root使用者

然後執行下面的命令

tar -jxvf valgrind-3.12.0.tar.bz2

cd valgrind-3.12.0

./configure

make

make install

valgrind --version 檢視valgrind 版本,並且驗證是否安裝成功
二、檢視記憶體洩漏示例

#include using namespace std;

int main()

g++ -g -o core main.cpp

valgrind --leak-check=yes --show-reachable=yes --log-file=a.log ./core

valgrind --leak-check=full --show-reachable=yes --log-file=a.log ./shdaily.fcgi "op=search&date=2011-04-14¤t=4"

--tool=memcheck //使用valgrind的memcheck功能

-show-reachable=yes //是否檢測控制範圍之外的洩漏,比如全域性指標、static指標等

--log-file=a.log //結果輸出到檔案

--leak-check=full //顯示具體**中洩漏的地方

然後可以看出哪一行記憶體洩漏了

概述valgrind

記憶體洩漏監測

3.1. 示例**

3.2. 編譯它

3.3. 用valgrind監測程序的記憶體洩漏

懸掛指標

4.1. 示例**

4.2. valgrind執行結果

多次釋放同乙個指標

5.1. 示例**

5.2. valgrind 監測

valgrind的優缺點

6.1. advantages

6.2. disadvantages

valgrind的其他工具

7.1. cachegrind

7.2. callgrind

7.3. helgrind

7.4. drd

7.5. massif

7.6. dhat

1 概述

在用c/c++程式設計的時候,經常會出現下面三種記憶體問題:

記憶體洩漏

懸掛指標

多次釋放同一塊記憶體

本系列文章簡要介紹排查這三個問題的工具和方法,先看看valgrind

int main()

*p++ = 'a';

*p++ = 'b';

printf("%s\n", *p);

return 0;

}

valgrind 記憶體洩露檢測

valgrind leak check full log file leak.log makefilevalgrind是乙個用於構建動態分析工具的儀器框架。valgrind工具可以自動檢測許多記憶體管理和執行緒錯誤,並詳細分析您的程式。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是一款用於記憶體除錯 記憶體洩漏檢測以及效能分析的軟體開發工具。valgrind這個名字取自北歐神話中英靈殿的入口。valgrind的最初作者是julian seward,他於2006年由於在開發valgrind上的工作獲得了第二屆google o reilly開源 獎。valgri...