============================================================
valgrind android编译、安装
参见valgrind-3.12.0.tar.bz2中的README.android文件,以下步骤,遵循README.android说明
注意VALGRIND_LIB是程序内部环境变量
export VALGRIND_LIB=/system/lib/valgrind/
PATH=$PATH:/system/xbin/valgrind/
============================================================
(一). valgrind android 编译
下载valgrind-3.12.0.tar.bz2
1. tar jxvf valgrind-3.12.0.tar.bz2
2. cd valgrind-3.12.0
3. vim build_androidv7.sh
export NDKROOT=/opt/android-ndk-r10c-linux-arm32v7
export HWKIND=generic
PATH=$NDKROOT/bin:$PATH
PATH=$PATH:$NDKROOT/libexec/gcc/arm-linux-androideabi/4.9
export CROSS_COMPILE=arm-linux-androideabi-
export AR=${CROSS_COMPLIE}ar
export LD=${CROSS_COMPLIE}ld
export CC=${CROSS_COMPLIE}gcc
export CXX=${CROSS_COMPLIE}g++
export CPP=${CROSS_COMPLIE}cpp
CPPFLAGS="--sysroot=$NDKROOT/sysroot" CFLAGS="--sysroot=$NDKROOT/sysroot" ./configure --prefix=/valgrind/ --host=armv7-unknown-linux --target=armv7-unknown-linux --with-tmpdir=/sdcard
4. sh build_androidv7.sh
5. make -j8
6. make -j4 install DESTDIR=`pwd`/install
===============编译成功,生成如下内容=========
(二). valgrind android 安装
在devices上建立文件夹
1. mkdir /system/lib/valgrind/
2. mkdir /system/xbin/valgrind/
3. mount -o remount,rw /system
通过adb把数据上传到device中
4. adb push install/valgrind/lib/* /system/lib/valgrind/
5. adb push install/valgrind/bin/* /system/xbin/valgrind/
在device上修改执行权限
6. chmod -R 777 /system/xbin/valgrind/
设置PATH与valgrind的环境变量
7. export VALGRIND_LIB=/system/lib/valgrind/
8. PATH=$PATH:/system/xbin/valgrind/
安装完毕,可以执行./valgrind
(三). 举例:
在device中运行valgrind:
export LD_LIBRARY_PATH=./
export VALGRIND_LIB=/system/lib/valgrind/
PATH=$PATH:/system/xbin/valgrind/
valgrind --leak-check=full --log-file=memcheck.vlg --kernel-variant=android-gpu-adreno3xx ./cooperate_task_test suicide.torrent 192.168.0.3 36000 36001 owner_did owner_name 0 0