valgrind工具的交叉编译及使用

一 概述

valgrind是一款非常好用的工具,用于检测内存泄漏等,这里讲述如何将其交叉编译到arm开发板及如何使用

【C/C++ 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南 - 知乎 (zhihu.com)

valgrind: failed to start tool ‘memcheck‘ for platform ‘arm-linux‘: No such file or directory_valgrind: failed to start tool 'memcheck' for plat-CSDN博客

二 编译方法

首先下载valgrind,亲测最新的3.23.0编译不了,因此选择了旧版本3.20.0,地址如下

2.1 解压缩

tar -xvf ./valgrind-3.20.0.tar.bz2

2.2 编译

./configure --host=armv7-linux CC=arm-linux-gnueabihf-gcc --prefix=/home/bush/Tools/valgrind-3.20.0/install make -j 4 make install

稍微等待一会儿就编译好了,这个过程相对来说还是很顺利的,文件夹包含以下内容

三 使用方法

将编译出来的valgrind文件夹,就是以上看到的这些,拷贝到arm板子上面去,例如放到root文件夹,注意,待测试的应用程序必须是DEBUG模式

使用命令执行

/root/valgrind/bin/valgrind --tool=memcheck --leak-check=yes /root/test_app

此时一般会报错

需要执行命令,将memcheck路径包含过来

export VALGRIND_LIB=/root/valgrind/libexec/valgrind/

再次运行,可以发现程序运行了,但是随后就又报错了

这个问题可能有人遇到,有人没有遇到,我这里的问题是,板子上 /lib 文件夹里面的 ld-linux-armhf.so.3 文件是stripped的,那无法用于调试,要替换为no-stripped的才可以,替换之后就顺利运行了,至于如何查看信息分析报告,可以参考上面列举的参考文档。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值