【linux】Valgrind工具集详解(二):入门

本文介绍了Valgrind工具集的使用,包括安装、基本使用方法和工作原理。通过实例演示如何使用Memcheck进行内存检查,并强调了在编译程序时应注意的gcc选项,如使用-g获取调试信息,避免优化选项以防止错误报告的干扰。
一、使用valgrind
1、安装

安装超级简单:
sudo apt-get install valgrind

2、使用

运行valgrind -h可以查看详细使用方法,命令格式如下:

valgrind [valgrind -h中的选项] 待测程序 [待测程序的命令行参数列表]

最重要的选项是–tool决定运行哪种Valgrind工具。
例如,使用内存检查工具Memcheck 运行“ls -l”命令 ,执行命令格式如下:

valgrind --tool = memcheck ls -l

Memcheck是默认设置,因此如果要使用它,则可以省略该–tool选项,如:

valgrind  ls -l
3、原理

无论使用哪种工具,Valgrind都会在程序启动前控制待测程序。从可执行文件和相关库中读取调试信息,以便在适当时可以根据源代码位置来表示错误消息和其他输出。

然后,待测程序将在Valgrind核心提供的“合成CPU”上运行。当新代码首次执行时,Valgrind核心将程序代码交给选定的工具。该工具将自己的检测代码添加到此处,并将结果交还给核心,核心协调持续执行此检测代码。

添加的检测代码量在不同工具之间差异很大。Memcheck添加了代码来检查每个内存访问和计算的每个值,使其运行速度比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艺高机器人编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值