(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



