Valgrind交叉编译
valgrind-3.12.0.tar.bz2
http://valgrind.org/downloads/old.html
./configure CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ AR=arm-hisiv200-linux-ar --host=arm-linux --prefix=/opt/valgrind-3.12.0
(给不会交叉编译的解释下,CC为交叉编译链hisi3535,gcc编译器,CXX为g++,都是海思SDK带的)
在检查脚本的时候可能弹出
error: Unsupported host architecture.Sorry
,
如下图所示错误
解决方法:
打开configure脚本
,找到
armv7*
字段(如下图所示)改写为
armv7* |arm
或者将
--host=arm-linux
改为
--host=armv7-linux
2)make
1) 在移植到开发板上的时候出现
“valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory
”,
如下图所示
2) 需要注意的一点,
网上很多教程都说要注意
--prefix
后面的安装目录要和开发板平台目录一致,比如说我现在在ubuntu x64编译,安装到/opt/valgrind-3.12.0目录,那么我们将整个valgrind-3.12.0目录拷贝到开发板,那么必须拷贝到开发板的/opt目录下,可能有的的确问题解决了。
但是其实本质上的问题是执行valgrind时,没有找到valgrind的lib库!!!
解决方案:
可以看到lib下面还有一层目录valgrind,这时候我们在开发板/etc/profile文件中添加一行
当然我们还可以在
PATH="/usr/bin:/usr/sbin:/bin:/sbin:/app/bin:
/opt/valgrind-3.12.0/bin
",黑色为一些系统路径配置(根据你自己profile里面PATH路径),添加后面红色部分就行了,执行下source /etc/profile ,就可以当valgrind命令使用了
执行下
valgrind --tool=memcheck --leak-check=full ./Tscu
本来以为在Hi3535上面可以使用了,其实看到上图的错误可以看到,出现一个错误码,最后定位是由于我们使用的Hi3535 是
armv5(由海思提供 两套一个是armv5一个是armv7,但是我们使用的是armv5),而valgrind最低硬件要求就是armv7和VFP,所以出现如上
图所示错误,其它编译步骤和移植没有问题
Valgrind交叉编译的更多相关文章
- valgrind简介以及在ARM上交叉编译运行【转】
转自:https://blog.csdn.net/dengcanjun6/article/details/54958359 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- Ubuntu上交叉编译valgrind for Android 4.0.4的过程与注意事项
编译环境:Ubuntu x86_64(Linux root 2.6.32-45-generic #101-Ubuntu SMP Mon Dec 3 15:39:38 UTC 2012 x86_64 G ...
- 交叉编译mips平台上valgrind
STEP 1:下载最新版本的valgrind:http://www.valgrind.org/downloads/valgrind-3.9.0.tar.bz2 目前支持的平台,在官网上列表如下:{x8 ...
- 编译Valgrind arm交叉编译
1. 下载源码: http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 2. 加压缩: mkdir sw cd sw tar zxf valgr ...
- 应用 Valgrind 发现 Linux 程序的内存问题及交叉编译for arm
Valgrind 概述 体系结构 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合.Valgrind由内核(core)以及基于内核的其他调试工具组成.内核类似于一个框 ...
- valgrind,arm-linux交叉编译
1. 下载及解压valgrind-3.9.0 2.CC=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux ...
- arm交叉编译Valgrind
1. wget http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 tar xvf valgrind-3.9.0.tar.bz2 cd valgr ...
- 在ARM Linux 使用 Valgrind
Linux valgrind 移植到ARM-Linux 一.Cross-Compile/交叉编译 (1)下载及解压Valgrind-3.11 (2)修改confirure 将armv7*)修改为ar ...
- valgrind的编译和使用
ubuntu 平台: valgrind 3.8.1 一. 编译 ./configure --prefix=/home/frank/test/valgrind/PC/local 报错:checking ...
- 内存泄漏定位工具之 valgrind 使用
1 前言 前面介绍了 GCC 自带的 mtrace 内存泄漏检查工具,该篇主要介绍开源的内存泄漏工具 valgrind,valgrind 是一套 Linux 下,开放源代码的动态调试工具集合,能够检测 ...
随机推荐
- ORACLE数据库通过DBLINK连接另一个数据库
ORACLE数据库通过DBLINK连接另一个数据库 亲测有效:create database link XXX --dblink名connect to 远程数据库用户名 identified by & ...
- element ui upload 组件多文件上传,最终只显示上传一个的问题
问题描述:一次选多张图片上传的时候界面上只有一张图片显示,并且上传调用的接口次数与选择的图片数量一致,且接口已200. JSON格式,"url"是最终显示的图片地址 { & ...
- shell多进程并发数控制
在批量执行任务时,单进程执行速度太慢,使用&不加数量控制,又担心资源占用过多,导致宕机等问题,因此我们需要控制并发进程的数量,保证效率的同时,保证资源占用不会太高. 其中一个解决思路是利用简单 ...
- 微信开发 回复用户消息 .net C#
前段时间开发了公司的微信 这里做个知识总结分享下经验,望一起学习..... 感觉后面写个系列的最好了 .... 企业需求: 给指定企业用户发送消息:如考勤信息. 企业通知.个人信息推送等等, /// ...
- python abseil库(app, flags, logging)总结
absl (Abseil PythonCommon Libraries)(https://abseil.io/docs/python/)是用于构建Python应用程序的Python库代码集合,它包括三 ...
- MySQL学习(八)BLOB和TEXT区别
:都市为存储很大数据而设计的字符串数据类型,分别采用二进制和字符方式存储.当blob和text值太大时,innodb会使用专门的"外部"存储区域来进行存储,此时每个值在行内需要1~ ...
- NOIP2022游记
NOIP2022游记 今年是第二次考NOIP了,去年第一次考的时候没学过什么东西,混了个省二.今年以高中生的身份考,不仅仅是要省一,还得拿个不错的名次,任务不小. 考试当天早上校园里的雾很大,不知道会 ...
- 20张图说清楚 IP 协议
大家好,我是风筝 轻解网络系列又来了,今天咱们说说 IP 协议,这可是网络协议中最最核心的一个协议了,还记得我们刚刚知道什么是IP地址.怎么给电脑修改 IP 的时候吗?今天我们就来探究一下 IP 协议 ...
- 在Pycharm上使用远程服务器进行调试
前言 缘起 Mac上没有GPU,需要用到学校服务器进行调试,于是产生了这篇博客.0.0bb 前提 首先确保已经将Pycharm配置好,通过SSH连接到服务器上的开发环境,这一步网络上有许多教 ...
- IDEA编写JSP无代码提示
网上的版本 网上的版本 网上的我试了 但是未能解决 我自己解决的方法是 File => Poject Struct=>Modules=>"+"=>找到自己系 ...