lazydays

V1

2023/01/09阅读:21主题:默认主题

valgrind 安装与简单测试

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

分类:

后端

标签:

C++

作者介绍

lazydays
V1