博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux Valgrind使用说明-内存泄漏
阅读量:4562 次
发布时间:2019-06-08

本文共 1327 字,大约阅读时间需要 4 分钟。

Valgrind manual:

 

Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,我们主要使用即此工具,默认选项。此工具检查下面的程序错误:

·        使用未初始化的内存 (Use of uninitialised memory)

·        使用已经释放了的内存 (Reading/writing memory after it has been free’d)

·        使用超过 malloc分配的内存空间(Reading/writing off the endof malloc’d blocks)

·        对堆栈的非法访问 (Reading/writing inappropriate areas on the stack)

·        申请的空间是否有释放 (Memory leaks – where pointers to malloc’d blocks are lost forever)

·        malloc/free/new/delete申请和释放内存的匹配(Mismatched use of malloc/new/new [] vs free/delete/delete [])

·        src和dst的重叠(Overlapping src and dst pointers inmemcpy() and related functions)

 

可以看出报告的基本格式是:

 

{问题描述}    at {地址、函数名、模块或代码行}  by {地址、函数名、代码行} by ...{逐层依次显示调用堆栈} Address 0x???????? {描述地址的相对关系}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

而报告的输出文档整体格式则可以总结为:

1. copyright 版权声明 2. 异常读写报告 2.1 主线程异常读写 2.2 线程A异常读写报告 2.3 线程B异常读写报告 2... 其他线程 3. 堆内存泄露报告 3.1 堆内存使用情况概述(HEAP SUMMARY) 3.2 确信的内存泄露报告(definitely lost) 3.3 可疑内存操作报告 (show-reachable=no关闭) 3.4 泄露情况概述(LEAK SUMMARY)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

definitely lost:内存没有被释放,且没有任何指针指向这里。肯定泄漏了。报告给出的堆栈是内存被分配时的调用堆栈,它可以基本明确内存是由什么业务逻辑创建的。 

still reachable:是说内存没有被释放,尽管如此仍有指针指向,内存仍在使用中,这可以不算泄露。(程序退出时仍在工作的异步系统调用?) 
possibly lost:是说可能有泄漏,一般是有二级指针(指针的指针)等复杂情况不易于追踪时出现。 
suppressed:统计了使用valgrind的某些参数取消了特定库的某些错误,会被归结到这里

参考网站:

 (wiki)
(比较全面的介绍)
 (非常详细的介绍了每个工具的使用)

 

转载于:https://www.cnblogs.com/jing1617/p/8481117.html

你可能感兴趣的文章
Ansi,UTF8,Unicode编码
查看>>
原子变量的性能问题
查看>>
Sybase PowerDesigner 15.0 完美版+特别文件
查看>>
快速傅立叶之二
查看>>
cetos 6.3 安装 apache+mysql+php
查看>>
js编写简单的贪吃蛇游戏
查看>>
2018/12/01 一个64位操作系统的实现 第四章 导入kernel.bin(4)
查看>>
如何在windows xp professional安装iis的解决方法
查看>>
抽象类和接口
查看>>
使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(下)
查看>>
golang 常见疑惑总结
查看>>
8大你不得不知的Android调试工具
查看>>
pc端元素拖拽
查看>>
Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
查看>>
判断连通图是否有环(并查集)
查看>>
汽车之家面试题2016
查看>>
POJ-数据结构-优先队列模板
查看>>
【HAOI2006】旅行(并查集暴力)
查看>>
css实现文本超出部分省略号显示
查看>>
留言板
查看>>