1.到官网http://valgrind.org/downloads/current.html#current下载Valgrind (目前的版本是3.8.1 2012-12-6)
2. 在Valgrind 代码解压目录执行/autogen.sh
执行不了 最后也能编译通过
3.在Valgrind 目录执行./configure --host=arm-linux --prefix=/opt/valgrind,提示以下错误
checking for a supported CPU... no (arm)
configure: error: Unsupported host architecture. Sorry
解决方法修改configure脚本
具体应该在检查host_os变量里加入匹配arm条件就行了,如原有的armv7*)改成armv7*|arm)
参考网址:http://bbs.chinaunix.net/thread-3557792-1-1.html
先查找交叉编译
再设置环境变量;
export CC=/dir/arm-none-linux-gnueabi-gcc
ubuntu下 mkdir /opt/valgrind目录 并修改权限 不然不能安装
4.make && make install
正常执行完后,就会把Valgrind安装到/opt/valgrind目录下
注意:--prefix=/opt/valgrind指定的目录要与开发板上放置的目录一致,不然运行valgrind时可能会出现“valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory”错误。
valgrind --tool=memcheck --leak-check=full ./t
就是在你的dev machine上编, 然后把 valgrind 应用程序 以及它要用的一坨lib copy到target机器上。那坨库很大,200多M ,不过如果你只用 memcheck,那就会少很多了。