valgrind交叉编译与使用
valgrind编译与使用
以下内容为在ubuntu
系统上交叉编译imx8
版本的valgrind
1. valgrind源码下载及解压
- 访问valgrind官网下载源码 valgrind-3.17.0.tar.bz2
- 解压源码
tar jxvf valgrind-3.17.0.tar.bz2
2. 编译valgrind
- 配置环境变量:
source /opt/fsl-imx-toolchain/environment-setup-aarch64-poky-linux
- 交叉编译
cd valgrind-3.17.0/
./autogen.sh
./configure --prefix=/opt/valgrind --target=aarch64-poky-linux --host=aarch64-poky-linux --build=x86_64-linux
make
make install
注意:
--target
、--host
、--build
参数参见environment-setup-aarch64-poky-linux
,无需更改valgrind
中configure
文件--prefix
需保证有足够的权限安装至此目录
3. 运行
3.1 拷贝至设备
- 将编译完成的
valgrind
拷贝至--prefix=/opt/valgrind
路径,否则将出现valgrind: failed to start tool 'memcheck' for platform 'arm64-linux': No such file or directory
的问题 - 键入
valgrind --version
查看工具是否正常运行
3.2 内存泄漏检测
- ./valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --log-file=leak.log ./test.bin
参考资料
本文来自博客园,作者:袁克波,转载请注明原文链接:https://www.cnblogs.com/ezrealiu/p/cross_compile_valgrind_on_ubuntu_for_imx8.html