编程其它

关注公众号 jb51net

关闭
Valgrind(运行时诊断工具) 3.12.0 官方最新版

Valgrind(运行时诊断工具) 3.12.0 官方最新版

热门排行

简介

Valgrind是一款应用运行时诊断工具,自动检测内存管理和线程的bug,用于内存调试、内存泄漏检测以及性能分析,遵守GNU通用公共许可证条款。本平台以后最新版,这是一个功能版本,有大量的改进和修复。需要的朋友们可以下载试试!

功能介绍
1、Valgrind 是一个运行时诊断工具,它可以监视一个指定程序的活动并通知你在你的代码中可能存在的各种各样的内存管理问题。
2、它类似于老式的 Electric Fence 工具(该工具将标准的内存分配函数替换为自己的函数以提高诊断能力),但被认为更容易使用并且在多个方面都提供了更丰富的功能——而且现在大多 数主流 Linux 发行版都提供了该工具,所以在你的系统中使用它不需要花费太多时间,你只需安装它的软件包即可。

安装与使用方法
一、 安装
1. autoconf
# wget //ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
# tar -zxvf autoconf-2.69.tar.gz
# cd autoconf-2.69
# ./configure
# make; make install
2. automake
# wget //ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
# tar -zxvf automake-1.14.tar.gz
# cd automake-1.14
# ./bootstrap.sh
# ./configure
# make; make install
3. valgrind
# wget //valgrind.org/downloads/valgrind-3.9.0.tar.bz2
# tar -jxvf valgrind-3.9.0.tar.bz2
# cd valgrind-3.9.0
# ./autogen.sh
# ./configure
# make; make install

二、快速使用指南
1. 简介
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件工具套装。
它最流行的工具是Memcheck, 它能检测C/C++中大部分的内存相关的错误。
2. 准备要检查的程序
程序编译时使用 “-g”参数,以添加调试信息,这样Memcheck的错误消息可以精确到行;
编译时使用“-O0”也有必要,只是速度会很慢,“-O1”可能会导致Memecheck的错误消息不正确;
3. 在Memcheck下运行程序:
如果你的程序的运行命令如下:
myprog arg1 arg2
则使用如下命令行:
valgrind --leak-check=yes myprog arg1 arg2
Memcheck是valgrind默认的工具,"--leak-check"选项开启了详细内存泄漏检测器;
这时程序会比平时运行得慢很多(如,慢20~30倍),并且会消耗更多的内存;
程序运行结束后,或你用“CTRL+C”中止程序后,Memcheck将会列出检测到的内存出错和泄漏的信息;

部分更新内容:
电源已添加对 ISA 3.0 的支持;
Solaris 端口改进和丰富;
添加了对 MacOS 10.12(Sierra)的初步支持;
抑制条目中的最大呼叫者数现在等于 --num -callers(500)的最大大小;
改进了执行大量丢弃的程序的性能指令地址范围为8KB或更小。

大家还下载了