Valgrind移植

   日期:2020-10-18     浏览:99    评论:0    
核心提示:Valgrind移植与使用教程源码版本:valgrind-3.16.1.tar.bz2ubutun版本:20.04交叉编译链:arm-none-linux-gnueabi-交叉编译命令介绍:configure配置说明说明–build执行代码编译的主机–host程序最终要运行的主机–target用build主机上的编译器,编译一个新的编译器( 如gcc),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上–prefix指定编译出来的版本

Valgrind移植与使用教程

源码版本:valgrind-3.16.1.tar.bz2

ubutun版本:20.04

交叉编译链:arm-none-linux-gnueabi-

交叉编译命令介绍:

configure配置说明 说明
–build 执行代码编译的主机
–host 程序最终要运行的主机
–target 用build主机上的编译器,编译一个新的编译器( 如gcc),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上
–prefix 指定编译出来的版本存放路径,默认放在“/usr /local/bin”
CC CXX CPP 交叉编译器配置CC=arm-none-linux-gnueabi-cc CPP=arm-none-linux-gnueabi-cpp CXX=arm-none-linux-gnueabi-g++

安装步骤:

编译linux版本

1.解压并运行valgrind自动make脚本

vmuser@vmuser-virtual-machine:tar jxvf valgrind-3.16.1.tar.bz2
vmuser@vmuser-virtual-machine:~/valgrind-3.16.1$ sudo apt-get install automake
vmuser@vmuser-virtual-machine:~/valgrind-3.16.1$ ./autogen.sh

2.configure

vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ mkdir install 
vmuser@vmuser-virtual-machine:~/valgrind-3.16.1$ ./configure --prefix=/home/vmuser/valgrind-3.16.1/install/

3.make

vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ make
vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ make install

编译ARM版本

1.编译之前先make clean

2.修改 configure 文件:

vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ mkdir install_arm
vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ ./configure --host=arm-linux CC=arm-none-linux-gnueabi-cc CPP=arm-none-linux-gnueabi-cpp CXX=arm-none-linux-gnueabi-g++ --prefix= --prefix=/home/vmuser/valgrind-3.16.1/install_arm/

报错

checking host system type... arm-unknown-linux-gnu
checking for a supported CPU... no (arm)
configure: error: Unsupported host architecture. Sorry

修改configure 把armv7a* 改为 arm* 再次配置configure

vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ ./configure --host=arm-linux CC=arm-none-linux-gnueabi-cc CPP=arm-none-linux-gnueabi-cpp CXX=arm-none-linux-gnueabi-g++ --prefix= --prefix=/home/vmuser/valgrind-3.16.1/install_arm/

//注意:–prefix=/mnt指定的目录要与开发板上放置的目录一致,不然运行valgrind时可能会出现“valgrind: failed to start tool ‘memcheck’ for platform ‘arm-Linux’: No such file or directory”错误。

3.编译安装

vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ make
vmuser@vmuser-virtual-machine:~/valgrimakend-3.16.1$ make install

4.移植到arm开发板

将/home/vmuser/valgrind-3.16.1/install_arm/目前下文件复制到arm同级目录下;

将/home/vmuser/valgrind-3.16.1/install_arm/bin/valgrind文件复制到/bin目录下。

root@freescale /home/vmuser/valgrind-3.16.1$ valgrind --help
usage: valgrind [options] prog-and-args

  tool-selection option, with default in [ ]:
    --tool=<name>             use the Valgrind tool named <name> [memcheck]

  basic user options for all Valgrind tools, with defaults in [ ]:
    -h --help                 show this message
    --help-debug              show this message, plus debugging options
    --help-dyn-options        show the dynamically changeable options
    --version                 show version
    -q --quiet                run silently; only print error msgs
    -v --verbose              be more verbose -- show misc extra info
    --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
    --trace-children-skip=patt1,patt2,...    specifies a list of executables
                              that --trace-children=yes should not trace into
    --trace-children-skip-by-arg=patt1,patt2,...   same as --trace-children-skip=
                              but check the argv[] entries for children, rather
                              than the exe name, to make a follow/no-follow decision
    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
    --vgdb=no|yes|full        activate gdbserver? [yes]
                              full is slower but provides precise watchpoint/step
    --vgdb-error=<number>     invoke gdbserver after <number> e
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服