valgrind 调试工具移植开发板
作者:互联网
(1)官网下载:Valgrind Homehttps://www.valgrind.org/ ,这里我们使用的3.18.1版本的valgrind
(2)下载解压压缩包
$ tar -xvf valgrind-3.18.1.tar.bz2
$ cd valgrind-3.18.1
$ sudo apt-get install automake # 有就不需要安装
$ ./autogen.sh # 需要安装automake
(3)配置编译安装
$ vi configure
armv7*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5
$as_echo "ok (${host_cpu})" >&6; }
ARCH_MAX="arm"
;;
# 将armv7* | arm
armv7* | arm)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5
$as_echo "ok (${host_cpu})" >&6; }
ARCH_MAX="arm"
;;
# 如果使用的交叉编译工具链没有进行路径的声明需要先进行声明
$ export /home/jiwansu/hdu6/packages/prebuilts/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/
$ ./configure --host=aarch64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- CC=aarch64-linux-gnu-gcc CPP=aarch64-linux-gnu-cpp CXX=aarch64-linux-gnu-g++ --prefix=$(pwd)/./output/valgrind_3.18
# --host :指定编译出来的gdb运行在什么环境上
# --target : 要调试的目标板
# --program-prefix : 编译生成的可执行文件的前缀 可以不加
# --prefix :make install 的安装路径
$ make
$ make install
(4)移植前的裁剪
$ cd output/valgrind_3.18
$ rm lib/ share/ -rf
# 这两个文件夹是可以不需要的
# 如果还需要裁剪可以根据需要功能对libexec目录下的文件进行选择删除
(5)开发板配置运行
将整个生成的文件夹移动到开发板,使用时需要先将bin目录和libexec目录声明不然会报 `failed to start tool 'memcheck' for platform 'arm64-linux': No such file or directory`
错误
$ export VALGRIND_LIB=/userapp/output/valgrind_3.18/libexec/valgrind
$ export PATH=$PATH:/userapp/output/valgrind_3.18/bin
测试下
$ valgrind --version # 输出版本号
valgrind_3.18
标签:3.18,gnu,--,valgrind,开发板,aarch64,linux,调试 来源: https://blog.csdn.net/Enosji/article/details/121243953