交叉编译valgrind

Valgrind交叉编译(踩坑) valgrind交叉编译 阅读详情

valgrind编译注意事项:

1. --prefix的路径必须和手机上实际运行的目录是一致的,不然运行valgrind会报错:

failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory"

2. 用ndk-r11c,valgrind版本3.12,编译出来在android6.0上跑,结果总是显示有泄露,运行不正确。

 

todo:

1. 需要查看具体内存泄露的代码行号,需要在编译时带上-g选项,同时执行的程序必须是带调试符号的版本。

2. /data/local/Inst/bin/valgrind -v --error-limit=no --trace-children=yes --log-file=/sdcard/valgrind.log.%p --tool=memcheck --leak-check=full --show-reachable=yes /data/local/tmp/test_demo

 

交叉编译步骤:

1. 编写valgrind交叉编译脚本build.sh,并执行,然后生成makefile:

export NDKROOT=/Users/xxx/Library/Android/android-ndk-r11c
export ABI_DIR=arm-linux-androideabi-4.9
export ARCH=arm-linux-androideabi
export HWKIND=generic
#export VALGRIND_LIB=/data/local/valgrind/lib/valgrind/
# Set up toolchain paths.
#
# For ARM

export AR=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-ar
export LD=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-ld
export CC=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-gcc
export CXX=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-g++

export RANLIB=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-ranlib
export STRIP=$NDKROOT/toolchains/$ABI_DIR/prebuilt/darwin-x86_64/bin/$ARCH-strip


#export AR=$NDKROOT/toolchains/llvm/prebuilt/darwin-x86_64/bin/armeabi-v7a/
#export LD=$NDKROOT/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-link
#export CC=$NDKROOT/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
#export CXX=$NDKROOT/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++

#export RANLIB=$NDKROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ranlib
#export STRIP=$NDKROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip
#

# for ARM
CPPFLAGS="--sysroot=$NDKROOT/platforms/android-21/arch-arm -DANDROID_HARDWARE_$HWKIND" \
CFLAGS="--sysroot=$NDKROOT/platforms/android-21/arch-arm" \
   ./configure --prefix=/data/local/Inst --host=armv7-unknown-linux --target=armv7-unknown-linux --with-tmpdir=/sdcard
# note: on android emulator, android-14 platform was also tested and works.
# It is not clear what this platform nr really is.
#CPPFLAGS="--sysroot=$NDKROOT/platforms/android-23/arch-arm64" \
   #CFLAGS="--sysroot=$NDKROOT/platforms/android-23/arch-arm64" \
   #./configure --prefix=/data/local/Inst \
   #--host=aarch64-unknown-linux --target=aarch64-unknown-linux \
   #--with-tmpdir=/sdcard

2. make

18_Linux中valgrind交叉编译嵌入式部署使用 此处给到一个偷懒的方式,可能实际开发时,第一次接触也不清楚目标平台有什么特点,对于参数也不知道其含义,自己配置的参数对不对,可以先进入目标平台的后台,打印出CPU和系统信息,然后交给大语言模型,让模型给配置一下。执行shell脚本,这里给到了一个通用的configure的编译脚本,如果有其他的程序需要编译可以使用该脚本,只需修改编译时根据目标平台特点,修改编译器和相关参数即可。通过以上步骤,你可以成功为 ARM Cortex-A7 平台交叉编译 Valgrind,并在目标设备上进行内存和性能分析。 阅读详情

相关推荐

(十三)valgrind在ARM上交叉编译和内存泄漏检测

valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。1、下载valgrind-3.17.02、交叉编译修改configure: armv7*) 改成 armv7*|arm) 然后进行make -j8编译和安装make install。/gzy_mnt/valgrind目录下生成好的bin、include、lib、libexec、share目录3、运行/gzy_mnt是挂载在arm板子上的共享目录。我们对NanoDet的MNN进行内存泄露检测。在目录/gzy_mnt/valgrin

qq_23123181的博客 2684

交叉编译valgrind(9x07)

valgrind 是一套 Linux 下,开放源代码的动态调试工具集合,能够检测内存管理错误、线程 BUG 等,valgrind 由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个 CPU 环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Memcheck是一个内存错误检测器。它可以帮助您使程序,尤其是那些用C和C ++编写的程序更加正确。Cachegrind是缓存和分支预测分析器。

BiigPanda的博客 2379

mips 交叉编译valgrind

最近mips板子上一个程序有内存错误,但是很隐蔽,而且不好重现,在网上搜索了内存检测的工具,选择了valgrind工具,在虚拟机上测试了几个小程序,感觉不错,于是决定编一个交叉valgrind出来,历尽千辛万苦,虽然解决了一些问题,但是还是没有最终解决问题。 在这里先将已经解决的问题的方法献给大家。 问题1. 'optimize' attribute directive ignored

倾城之恋的专栏 9245

Valgrind交叉编译

编译环境:ubuntu x64 开发平台:hisi3535 arm板 1.下载Valgrind 我下载的版本为valgrind-3.12.0.tar.bz2 所有版本=>官网下载地址:http://valgrind.org/downloads/old.html 2.交叉编译Valgrind(三步走)    1)配置configure         ./configure CC=ar

那时风起 1万+

valgrind arm-linux 交叉编译

Valgrind是用于构建动态分析工具的仪器框架。 它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。 Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结构。   开始工作前,有两项信息不得不看,那就是平台和工具概述,虽然百度查了一些,但毕竟不如官方的准确: 平台支持,我的 ARM-v7 是支持的 http://valgrind.or...

CodingTheFuture 1656

valgrind arm64交叉编译包

valgrind arm64交叉编译包,可以直接运行,里面有安装说明。 附带解决valgrind运行时报错“Note that if you are debugging a 32 bit process on a 64 bit system...”的依赖库:dpkg -i libc6_2.31-13+deb11u5_arm64.deb, libc6-dbg_2.31-13+deb11u5_arm64.deb。

交叉编译Valgrind

交叉编译Valgrind 参考https://blog.youkuaiyun.com/qq_34743935/article/details/105682653 参考https://www.valgrind.org/downloads/ 1.Valgrind 1.1 下载valgrind 官网 http://valgrind.org/downloads/ 下载源码包 tar xvf valgrind-3.15.0.tar.bz2 cd valgrind-3.15.0 apt-get install automa

Reasonss的博客 1817

关于自制的《航空学报》latex模板(非官网模板)

《航空学报》的官网只提供了word模板,并且该期刊投稿只需要pdf版本不需要源文件。为方便latex爱好者撰写论文,提供该模板及说明给广大科研人士~

qq_37105055的博客 4696

valgrind工具的交叉编译及使用

valgrind在arm上的交叉编译和使用方法

qq_34744658的博客 2529

粒子群算法实战:用Matlab解决旅行商问题(TSP)的完整代码解析

本文提供了使用粒子群算法解决旅行商问题的完整Matlab实战指南。通过将连续空间的粒子群算法进行离散化改造,采用基于交换序的策略来更新粒子位置与速度,并给出了从问题定义、数据结构设计、核心函数实现到主迭代循环的详细代码解析。文章还探讨了参数调优、性能优化及处理复杂TSP变体的进阶思路,为物流规划、路径优化等领域的工程应用提供了可直接复用的解决方案。

m2n3o4p5的博客 350

Android-音频配置文件详解

前言:   Android P 引入了一种新的音频政策配置文件格式 (XML),用于描述音频拓扑。新的 XML 文件支持定义输出输入流配置文件、可用于播放和捕获的设备以及音频属性的数量和类型。但是每个项目的代码里面都有很多音频配置文件,具体使用的是哪个文件呢?本文将详细讲述。 1. 查看运行时具体使用的xml adb shell dumpsys media.audio_policy | grep -iE "Config source:" 结果如下: Config source: /vendor

cheriyou_的博客 3947

【调试手段】之valgrind在ARM上的交叉编译

1. Valgrind的交叉编译 1.1 源码下载路径  (1)、下载地址:http://valgrind.org/downloads/  (2)、解压,然后cd到valgrind的源码路径。 1.2 修改configure  由于想用arm交叉编译器,而configure中没有添加arm交叉编译器选项,因此需要在configure中添加: 修改configure: armv7*) 改成 armv...

walkingMa的专栏 1455

向华为学习——解读华为战略规划SP与业务计划BP流程【附全文阅读】

该方案针对大中型企业高管及战略团队,系统拆解华为SP(4-9月中长期规划)与BP(10-12月年度执行)双轨体系,形成"战略制定-业务设计-资源配置-绩效解码"闭环。SP侧重市场趋势分析、业务优先级与资源分配,BP细化KPI、预算及行动计划。通过价值树、战略解码等工具实现战略到部门/个人的目标分解,强化跨部门协同与过程管控。配套17份华为实战资料(包括战略管理、流程优化、销售组织建设等核心方法论),助力企业建立规范的战略执行体系,实现资源优化与绩效落地。

cdfunlove的博客 771

valgrind交叉编译

版本valgrind-3.17.0.tar 解压 tar -zxf valgrind-3.17.0.tar cd valgrind-3.17.0 指定交叉编译链,及指定编译32位系统(海思开发板为例hi3516dv100) mkdir out ./configure --host=arm-hisiv400-linux CC=arm-hisiv400-linux-gcc --prefix=/home/lzf/lzf/tool_linux/valgrind-3.17.0/out/ --enable-only32

qq_18804879的博客 841

Jetson AGX Orin平台Jetpack5升级Jetpack6,自研载板USB不工作问题调试

1. 问题描述将AGX Orin工业的新板放到定制的载板上当在ubuntu 22和Jetpack 6.1上使用SDKManager刷机时,lsusb为空,并且在引导时没有发现/注册xusb设备。USB C端口正常打开并供电,但似乎没有数据传输。在Ubuntu 18 Jetpack 5.1.4 SDKManager上同样刷机之后,usb C集线器在引导时被正确地发现,显示在lsusb中,并识别/挂载外部驱动器。

jzwjzw19900922的博客 1510

24、交通信号协调算法与模型解析

本文深入解析了交通信号协调中的关键算法与模型,包括多路径进展模型、MAXBAND网络系统模型和松弛启用带模型。这些模型通过合理安排相位序列、优化绿波带宽等方式,提高了交通运行的效率。文章还探讨了交通控制从单点控制向网络协调的发展趋势,分析了当前面临的挑战与机遇,并提出了未来研究方向,如借助信息技术和机器学习,深入研究交通网络的基本构成,以实现智能化和精准化的信号协调。

agile9scrum的博客 134

hisi3531 valgrind 交叉编译移植

valgrind 神器不用我多说,linux平台开发利器。 一、 安装 1. autoconf # wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz # tar -zxvf autoconf-2.69.tar.gz # cd autoconf-2.69 # ./configure # make; make install 2....

sunshineywz的博客 3334

【Microchip】微芯 MPLAB® X IDE开发环境新建项目(点亮1颗LED灯)(常用右键菜单快捷键)

1.新建项目2. 选择芯片型号和调试器3.选择编译器4.项目命名和选择文件路径5.新建成功,给项目添加main.c7.将新建的mainXC16.c文件添加进项目6000000UL这三个就是。

Naiva的博客 452

交叉编译arm系列valgrind步骤

交叉编译valgrind步骤 下载valgrind文件 命令行输入: tar xvf valgrind-3.**.0.tar.bz2 cd valgrind-3.**.0 ./autogen.sh 修改configure文件,以支持arm 将文件中armv7*) 改成 armv7*|arm) 命令行输入: sudo ./configure --host=arm-linux CC=/opt/TI_THREE/linux-devkit/sysroots/x86_64-arago-linux/usr/b

juebukeni的博客 768

华为OD面试八股真题 - 操作系统 - 1

华为OD技术面,操作系统相关八股真题提供详细解答,这篇博客主要涉及于进程和线程相关知识点

qq_45776114的博客 1644

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Valgrind (使用说明,交叉编译)

Valgrind是一款功能强大的开源工具,主要用于内存调试、内存泄漏检测、性能分析以及线程错误的检测

weixin_40026739的博客 4535

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

valgrind交叉编译移植

博客装载自:http://blog.youkuaiyun.com/jiazhen/article/details/18966423#comments 1.  wget http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 tar xvf valgrind-3.9.0.tar.bz2 cd valgrind-3.

xiang90721的专栏 2824

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

valgrind简介以及在ARM上交叉编译运行

valgrind简介以及在ARM上交叉编译运行参考博客:https://blog.youkuaiyun.com/dengcanjun6/article/details/54958359参考博客:https://blog.youkuaiyun.com/longbei9029/article/details/78626004?locationNum=1&fps=1参考博客:https://blog.youkuaiyun.com/...

蠢萌 9582

valgrind 交叉编译笔记

下载。

Howzit 766
上一篇: yuv420转为cv::Mat
下一篇: ndk开发-gtest编译
HTJOY
博客等级 码龄20年 11粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值