Linux系统-内存检测-valgrind操作入门
来源:互联网 发布:阿里云发短信 php代码 编辑:程序博客网 时间:2024/05/16 17:07
序言
Valgrind工具组提供了一套调试与分析错误的工具包,是在Linux中检查内存泄漏的工具。当程序编写完之后我一般都会使用它来检查一次内存问题。这些工具之中最有名的是Memcheck,能够识别很多C/C++程序中内存相关的错误。
使用Memcheck输出内存错误信息
- valgrind - -leak-check=yes ./example
- Memcheck是默认的工具,开启 –leak-check 选项会启动内存泄露检查
- 程序运行起来速度比正常运行慢很多(数十倍),并且会使用更多内存
- Memcheck偶尔也会出错,但绝大多数时候都不会出错
- Memcheck不能够侦测所有内存错误,例如不能识别越界读、或者对分配到栈区的数组的越界写入。但是它能够识别导致程序崩溃的大多数错误
- 说明
- 13442是进程号
- probably lost,可能存在内存泄漏
- 在第一行之后紧跟的堆栈轨迹信息告诉你问题出现的位置
- 程序函数 main(main.c:74)表明存在问题的程序位置
使用输出内存错误报告
valgrind - -log-file=./valgrind_report.log - -leak-check=full - -show-leak-kinds=all - -show-reachable=no - -track-origins=yes ./example
- – -log-file
- 指定报告输出文件
- track-origins=yes
- 是否显示未定义的变量,在堆、栈中被定义没有被initialised的变量都被定义成origins。默认是关闭这个option的。
- show-leak-kinds=all
- 这里可以支持的选项有[definite|possible],一般只需要去关注definite,possible是可能会存在。
- leak-check=full
- 当服务器退出时是否收集输出内存泄漏,选项有[no|summary|full]这个地方我们将其设置成全输出,默认将会使用summary方式。
- – -log-file
Acknowledgements:
http://www.cnblogs.com/zhoudayang/p/6110360.html
http://blog.csdn.net/erlang_hell/article/details/51360149
2017.07.07
阅读全文
0 0
- Linux系统-内存检测-valgrind操作入门
- Linux下用Valgrind检测内存泄露
- valgrind 使用 (linux程序内存检测)
- linux开发工具--内存检测--Valgrind
- linux 编程----内存泄露检测之Valgrind
- valgrind-linux下检测内存工具
- linux实用技巧:检测内存泄漏工具Valgrind
- Linux/Unix用valgrind检测内存泄漏
- Valgrind 检测linux上c++内存泄露
- Linux下内存泄露检测valgrind
- Linux下检测内存泄漏工具Valgrind
- linux C 内存泄漏检测 -- valgrind
- linux工具之检测内存泄漏-valgrind
- linux检测内存泄漏工具valgrind
- Linux系统-耗时检测-gprof操作入门
- 使用valgrind进行内存泄漏和非法内存操作检测
- valgrind 检测内存
- Valgrind检测内存泄漏
- unity学习之飞机大战制作 关键点(五) 设置飞机的控制
- ajax跨域请求
- Android 禁止RecycleView的滑动
- 让控制台程序无窗口
- AJAX入门篇
- Linux系统-内存检测-valgrind操作入门
- Python核心编程v2.0 第二章习题答案
- 伽马校正
- 汽车黑客大曝光--第二章学习
- MFC文档视图不显示导航栏
- docker 五分钟玩转
- gson
- opencv之光照补偿和去除光照
- 汽车黑客大曝光--第三章学习