valgrind 交叉编译

本文详细介绍了Valgrind,一个用于构建动态分析工具的框架,包含多个工具如Memcheck、Cachegrind等,用于检测内存错误、缓存分析、线程错误等,适用于C和C++程序的优化。文章还提供了Valgrind的安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接:https://www.cnblogs.com/CodingTheFuture/p/9864960.html

Valgrind是用于构建动态分析工具的仪器框架。 它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。

Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结构。

开始工作前,有两项信息不得不看,那就是平台和工具概述,虽然百度查了一些,但毕竟不如官方的准确:

平台支持,我的 ARM-v7 是支持的

http://valgrind.org/info/platforms.html
工具概述:

http://valgrind.org/info/tools.html

标准配置提供了许多有用的工具。

Memcheck是一个内存错误检测器。 它可以帮助您使程序,尤其是那些用C和C ++编写的程序更加正确。

Cachegrind是缓存和分支预测分析器。 它可以帮助您使程序运行得更快。

Callgrind是一个生成缓存分析器的调用图。 它与Cachegrind有一些重叠,但也收集了Cachegrind没有的一些信息。

Helgrind是一个线程错误检测器。 它可以帮助您使多线程程序更正确。

DRD也是线程错误检测器。 它与Helgrind类似,但使用不同的分析技术,因此可能会发现不同的问题。

Massif是一个堆分析器。 它可以帮助您使程序使用更少的内存。

DHAT是一种不同类型的堆分析器。 它可以帮助您了解块寿命,块利用率和布局效率低下的问题。

SGcheck是一种实验工具,可以检测堆栈和全局数组的溢出。 它的功能与Memcheck的功能互补:SGcheck发现Memcheck无法解决的问题,反之亦然。

BBV是一个实验性的SimPoint基本块矢量生成器。 它对进行计算机体系结构研究和开发的人很有用。

其中官方解释到:

Memcheck检测内存管理问题,主要针对C和C ++程序。Memcheck运行程序比正常情况慢大约10-30倍

Cachegrind运行程序比正常情况慢大约20-100倍。

Massif运行程序比正常情况慢20倍

1.下载源码
http://valgrind.org/

2 解压后进行配置:
./configure --prefix=/home/sun/share/install --host=arm-buildroot-linux-uclibcgnueabi

3.编译
make -j4
make install
会生成四个目录:bin lib share include

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值