1 valgrind 简介
Valgrind工具套件提供了许多调试和分析工具,可帮助您使程序更快,更正确。这些工具中最受欢迎的称为Memcheck。它可以检测许多与内存相关的错误,这些错误在 C 和 C++ 程序中很常见,并可能导致崩溃和不可预测的行为。
2 安装
#下载安装包
wget https://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
#解压文件
tar -xvf valgrind-3.20.0.tar.bz2
# 编译安装
cd valgrind-3.20.0/
sh autogen.sh #(配置标准的autoconf工具,可选)
./configure
make && make install
3 示例代码
cat a.c
###############################
#include <stdlib.h>
void f(void)
{
int* x = malloc(10 * sizeof(int));
x[10] = 0; // problem 1: heap block overrun
} // problem 2: memory leak -- x not freed
int main(void)
{
f();
return 0;
}
#编译示例代码
gcc a.c
4 用valgrind检测
valgrind --leak-check=yes ./a.out
ps: 后台回复"技术群"可添加微信技术交流群
文章转载自DBA札记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。