首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >valgrind 安装与简单测试

valgrind 安装与简单测试

作者头像
DBA札记
发布2023-02-15 12:07:44
发布2023-02-15 12:07:44
8540
举报
文章被收录于专栏:MySQL参数系列MySQL参数系列

1 valgrind 简介

Valgrind工具套件提供了许多调试和分析工具,可帮助您使程序更快,更正确。这些工具中最受欢迎的称为Memcheck。它可以检测许多与内存相关的错误,这些错误在 C 和 C++ 程序中很常见,并可能导致崩溃和不可预测的行为。

2 安装

代码语言:javascript
复制
#下载安装包
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 示例代码

代码语言:javascript
复制
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;
}
代码语言:javascript
复制
#编译示例代码
gcc a.c

4 用valgrind检测

代码语言:javascript
复制
valgrind --leak-check=yes ./a.out

ps: 后台回复"技术群"可添加微信技术交流群

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 valgrind 简介
  • 2 安装
  • 3 示例代码
  • 4 用valgrind检测
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档