2021-07-22 valgrind 的安装介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

valgrind 的简单使用


一、valgrind 安装

安装文件 https://sourceware.org/pub/valgrind/

1、tar xvf valgrind-3.17.0.tar.bz2
2、cd valgrind-3.17.0.tar.bz2/
3、运行./autogen.sh设置环境(需要标准的autoconf工具)
4、运行./configure配置Valgrind,具体参数信息详见INSTALL文件。一般只需要设置--prefix=/where/you/want/it/installed
5、make,编译Valgrind
6、make install,安装Valgrind
7、valgrind --version   查看安装是否成功

二、组件

1.命令介绍

Memcheck,重量级内存检测工具,使用广泛
Helgrind,检测多线程中的数据竞争问题
Callgrind,检查程序中函数调用过程中出现的问题
Cachegrind,检查程序中缓存使用出现的问题
Massif,检查程序中堆栈使用中出现的问题
Extension,利用core提供的功能,自己编写特定的内存调试工具

valgrind --leak-check=full --show-reachable=yes --trace-children= yes [your program] > logfile /logfile加上会好些,程序在执行期间stderr会有一些输出。提示比较多/
其中
–leak-check=full 指的是完全检查内存泄漏
–show-reachable=yes是显示内存泄漏的地点
–trace-children=yes是跟入子进程
–log-file=”log.xml”输出到XML文件

选项作用
-h --help显示帮助信息。
–version显示valgrind内核的版本,每个工具都有各自的版本。
-q --quiet安静地运行,只打印错误信息。
-v --verbose打印更详细的信息。
–tool= [default: memcheck]最常用的选项。运行valgrind中名为toolname的工具。如果省略工具名,默认运行memcheck。
–db-attach=<yes/no> [default: no]绑定到调试器上,便于调试错误。

2.问题解决

1、OpenSSL valgrind报"Conditional jump or move depends on uninitialised value(s)"的解决
2、OpenSSL的Valgrind的下产生核心转储由于RDRAND
3、在gdb下运行时,SSL_library_init会导致SIGILL

原因 https://www.openssl.org/docs/faq.html#PROG17
http://cn.voidcc.com/question/p-tzufgiqd-oe.html

官网下载安装最新版本,在线安装版本较低。


# 总结

参考
https://blog.csdn.net/share_happy_1984/article/details/10007067
https://www.cnblogs.com/wxmdevelop/p/10910871.html
https://blog.csdn.net/yanghao23/article/details/7514587
http://hk.voidcc.com/question/p-agcyqpsz-vg.html
https://www.cnblogs.com/skyfsm/p/8823170.html
https://www.cnblogs.com/freedomabcd/p/7771461.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Valgrind,您可以按照以下步骤进行操作: 1. 首先,您需要下载Valgrind安装文件。您可以从官方网站https://sourceware.org/pub/valgrind/下载安装文件。 2. 解压缩下载的文件。您可以使用命令`tar xvf valgrind-3.17.0.tar.bz2`来解压缩文件。 3. 进入解压缩后的目录。使用命令`cd valgrind-3.17.0/`。 4. 运行`./autogen.sh`来设置环境。请确保您已经安装了标准的autoconf工具。 5. 运行`./configure`来配置Valgrind。您可以根据需要设置一些参数,具体信息可以在INSTALL文件中找到。通常,您只需要设置`--prefix=/where/you/want/it/installed`指定安装路径。 6. 使用命令`make`编译Valgrind。 7. 运行`make install`来安装Valgrind。 8. 最后,您可以使用命令`valgrind --version`来验证安装是否成功。 请注意,这些步骤仅适用于Linux系统。如果您使用的是其他操作系统,请参考Valgrind官方文档或相应的安装指南。 另外,如果您遇到权限问题,您可以使用命令`chmod +x valgrind.sh`来修改Valgrind的权限[2]。 Valgrind是一个强大的工具,用于检测内存泄漏和其他错误。使用Valgrind可以帮助您发现潜在的内存错误和线程问题。 在使用Valgrind之前,您可以使用命令`valgrind --tool=helgrind ./your_program`来检测多线程程序中的竞争条件和死锁问题。 这是Valgrind的一个简单使用示例。您可以通过访问非法内存来引发错误,并使用Valgrind来检测和定位问题。 请记住,Valgrind是一个非常强大的工具,可以帮助您提高程序的稳定性和性能。在使用过程中,您可能需要参考更详细的文档和指南,以充分利用Valgrind的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值