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.youkuaiyun.com/share_happy_1984/article/details/10007067
https://www.cnblogs.com/wxmdevelop/p/10910871.html
https://blog.youkuaiyun.com/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值