如何移植valgrind到arm开发板
一些链接
valgrind官网:Valgrind Home
valgrind安装包下载地址:Index of /pub/valgrind
简介
Valgrind是一个用于构建动态分析工具的仪器框架。Valgrind工具可以自动检测许多内存管理和线程错误,并详细分析您的程序。您还可以使用Valgrind构建新工具。
支持的平台
- x86/Linux: up to and including SSSE3, but not higher -- no SSE4, AVX, AVX2. This target is in maintenance mode now..
- AMD64/Linux: up to and including AVX2. This is the primary development target and tends to be well supported.
- PPC32/Linux, PPC64/Linux, PPC64LE/Linux: up to and including Power8.
- S390X/Linux: supported.
- ARM/Linux: supported since ARMv7.
- ARM64/Linux: supported for ARMv8.
- MIPS32/Linux, MIPS64/Linux: supported.
- X86/FreeBSD, AMD64/FreeBSD: supported since FreeBSD 11.3.
- X86/Solaris, AMD64/Solaris, X86/illumos, AMD64/illumos: supported since Solaris 11.
- X86/Darwin (10.5 to 10.13), AMD64/Darwin (10.5 to 10.13): supported.
- ARM/Android, ARM64/Android, MIPS32/Android, X86/Android: supported.
另外在Linux上,必须运行内核3.0或更高版本,以及glibc 2.5.X或更高版本。在Mac OS X上,您必须运行10.9.x或更高版本。
主要工具
(1)Memcheck内存错误检测器
(2)Cachegrind缓存和分支预测分析器
(3)Helgrind线程错误检测器
(4)Massif堆分析器。
编译
准备交叉编译工具链
直接用apt-get安装
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf
sudo apt-get install c++-arm-linux-gnueabihf
也可自行去官网下载压缩包
编译valgrind
下载解压
wget https://sourceware.org/pub/valgrind/valgrind-3.18.1.tar.bz2
tar xvf valgrind-3.18.1.tar.bz2
cd valgrind-3.18.1/
配置
./autogen.sh # 需要安装automake
vi configure
作如下更改
./configure --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CPP=arm-linux-gnueabihf-cpp CXX=arm-linux-gnueabihf-c++ --prefix=$(pwd)/./output/valgrind_3.18#--build: 编译所用的机器的平台
#--host:编译出的可执行文件运行的平台
#--target:编译出来的工具链生成的可执行文件运行的平台,一般在编译gcc、ld等工具的时候才使用
配置成功
编译
make
make install
编译成功
裁切
因为很多开发板内存空间有限,需要进行裁切,选择自己需要的文件。
筛选后等到满足arm开发板的全功能所需文件,也可根据个人需求,对部分功能对应的文件进行选取。
配置arm开发板上的运行环境
使用patchelf工具对测试文件修改interpreter段
因为测试的可执行文件需要依赖not stripped的动态链接库,但是很多开发板上的系统为了节省空间需要对文件进行strip,那么valgrind将无法成功运行测试可执行文件。
所以需要通过一些手段改变可执行文件的interpreter段。比如在编译时指定,或者使用patchelf工具。
下载arm版对应的安装包解压即可直接使用
https://github.com/NixOS/patchelf/releases
patchelf --set-interpreter /data/app/MAINAPP/data/ld-2.15.so ./Hellovalgrind ./Hello
2.15.是ld.so的版本,Hello是待调试的应用名称
至此,valgrind将可以成功使用。
如何移植valgrind到arm开发板相关推荐
- 编译ARM平台的 QtEmbedded 的MySQL插件和移植MySQL到ARM开发板
经过几天的努力,终于交叉编译出了arm平台所需Qt/E的MySQL插件(驱动),其中顺便把MySQL也移植到了mini2410的开发板上. 编译器:arm-linux-gcc(4.3.2) Pc平台: ...
- mplayer linux arm,【嵌入式】交叉编译移植 Mplayer 到 ARM开发板
一.基本信息 1.移植环境 ①:ubuntu16.04 ②:iMX6Q开发板 2.移植所需软件源码 ①:libmad libmad 下载 ②:mplayer mplayer下载 ③:百度网盘下载: 链 ...
- java arm_移植java到arm开发板
1. 在主机linux上安装Oracle Java SE Embedded 下载Oracle Java SE Embedded软件包 本次使用ejdk-8u211-linux-armv6-vfp-hf ...
- 移植安装ModBus到ARM开发板
1.libmodbus官网 2.下载 二.交叉编译 1.解压 2.创建安装目录 3.进入解压的目录 4.配置编译选项 5.编译 6.安装 7.生成动态链接库 三.移植到ARM开发板 1.复制文件到AR ...
- [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植
文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...
- linux adb arm移植,移植ubuntu core到Arm开发板
origin: http://blog.csdn.net/kickxxx/article/details/15341079 最初是想把整个ubuntu移植到MX51开发板,因为项目不需要运行桌面系统, ...
- 将linux内核烧进arm板,ARM开发板上uClinux内核移植
<ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...
- Openssl移植到ARM开发板
Openssl移植到ARM开发板 openssl源码下载 源码编译配置 使用生成的库文件 openssl源码下载 openssl源码可以在官网下载:https://www.openssl.org/so ...
- arm开发板移植ALSA库与ALSA工具
目录 首先我们需要下载两个所要用到的库文件(基于Ubuntu) 一:先配置ALSA库文件 1.先解压放到家目录下ALSA的源文件: 2.解压后进去解压得到的文件夹执行以下命令: 3.配置好以后执行 二 ...
最新文章
- 你们AI圈儿,已经引起了罗马教皇的警惕
- Servlet之Filter过滤器
- 文件上传漏洞——DVWA练习
- 超图软件打开倾斜摄影数据注意点
- Linux IO复用:select、poll、epoll的理解与对比
- Windows2003系统无法运行CS游戏的解决方案
- oracle 下和 db2的syscat 对应的,oracle db2命令对比(整理中)
- java heap 查看_使用VisualVM查看Java Heap Dump
- windows server 2003 32位支持8G内存
- mybatis 调用 oracle函数_从Oracle到PG 该做的改造工作一个都不能少!
- VS2010 C++环境下DLL和LIB文件目录及名称修改
- 用积分法求椭圆周长matlab,MATLAB计算积分
- Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象
- 俞敏洪:35岁前如何实现自我增值?
- 快速了解元宇宙的 7 层产业链
- agx 扩展m2的固态硬盘 挂载到/home中
- jxl导出excel(合并单元格)
- Java常用消息摘要算法-MD5
- 分享几个 Github 镜像网站(亲测可用)
- 力扣每日一题2021-12-24中等题:吃苹果的最大数目
热门文章
- 解决:vue项目npm run build 打包后 :src路径里面的本地图片找不到。
- YbtOJ——递推算法【例题4】传球游戏
- 微信 Mac 版 3.1.0 内测:支持发表朋友圈、浏览朋友圈相册
- 《软件测试的艺术》阅读心得
- 人工智能算法在外卖配送系统中的应用和前景
- Javasript实现照片墙
- 单细胞测序探索小鼠胚胎时期脑组织的发育
- 计算机教程.pdf,中文电脑基础教程.pdf
- 低代码灵魂三问:熬不住了?骗不了了?技术不行了?
- 应用统计学和计算机哪个好学,东北大学应用统计学专业要学哪些课程,好学吗?...