一、安裝 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...