valgrind内存检测工具
valgrind 那点事
---------------------------------------
内存检测工具 valgrind
要使用此工具,可以使用--tool=memcheck 在Valgrind命令行上指定。也可以不用指定,因为Memcheck是默认工具。
Memcheck是一个内存错误检测器。它可以检测到C和C ++程序中常见的以下问题。
访问内存不应该,例如溢出和溢出堆块,溢出堆栈顶部,以及在释放内存后访问内存。
使用未定义的值,即未初始化的值或从其他未定义的值派生的值。
堆存储器的不正确释放,如双释放堆块,或错配的使用 malloc/ new/ new[] 与 free/ delete/delete[]
重叠src和 dst指针 memcpy以及相关的功能。
向size内存分配函数的参数传递一个腥意(推测为负值) 。
1.安装:
官网:
http://valgrind.org/
2.安装
[root@cf61420c928a soft]# .tar.bz2 [root@cf61420c928a soft]# .tar
查看README后得知:
[root@e46ae471064e valgrind-]# ./configure --prefix=/usr/local/valgrind [root@e46ae471064e valgrind-]# make [root@e46ae471064e valgrind-]# make install
show 版本
[root@e46ae471064e valgrind-]# /usr/local/valgrind/bin/valgrind --version valgrind- [root@e46ae471064e valgrind-]#
3.测试
==== ==== LEAK SUMMARY: ==== definitely lost: bytes blocks ==== indirectly lost: bytes blocks ==== possibly lost: , bytes blocks ==== still reachable: ,, bytes , blocks ==== suppressed: bytes blocks ==== Rerun with --leak-check=full to see details of leaked memory ==== ==== For counts of detected and suppressed errors, rerun with: -v ==== Use --track-origins=yes to see where uninitialised values come from ==== ERROR SUMMARY: errors from contexts (suppressed: from ) [root@cf61420c928a GetUrl]#
关于内存泄露
Memcheck将内存泄露分为两种,一种是可能的内存泄露(Possibly lost),另外一种是确定的内存泄露(Definitely lost)。Possibly lost 是指仍然存在某个指针能够访问某块内存,但该指针指向的已经不是该内存首地址。Definitely lost 是指已经不能够访问这块内存。而Definitely lost又分为两种:直接的(direct)和间接的(indirect)。直接和间接的区别就是,直接是没有任何指针指向该内存,间接是指指向该内存的指针都位于内存泄露处。--https://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/index.html
valgrind内存检测工具的更多相关文章
- c++Valgrind内存检测工具---19
原创博文,转载请标明出处--周学伟 http://www.cnblogs.com/zxouxuewei/ 一.Valgrind 概述 Valgrind是一套Linux下,开放源代码(GPL V2)的 ...
- 【调试】Linux下超强内存检测工具Valgrind
[调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ...
- linux下内存检测工具的使用和对比
linux背后隐藏着各种丰富的工具,学会这些工具,让这些工具更好地服务于我们的项目开发,不仅可以提高工作的效率,而且可以增强个人技术力. 参考:http://blog.chinaunix.net/ui ...
- Android 内存泄露总结(附内存检测工具)
https://segmentfault.com/a/1190000006852540 主要是分三块: 静态储存区:编译时就分配好,在程序整个运行期间都存在.它主要存放静态数据和常量. 栈区:当方法执 ...
- C/C++内存检测工具Valgrind
内存检测Valgrind简介 Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,作者是获得过Google-O'Reilly开源大奖的Julian Seward, 它包含一个内核 ...
- c程序内存检测工具 - Valgrind
常用C程序内存泄露检测工具 https://blog.csdn.net/u012662731/article/details/78652651
- windows下内存检测工具
1.Intel的Parallel Inspector工具,和vs集成超好, 而且还带了线程检测工具. 2.Purifyhttps://www.cnblogs.com/hehehaha/archive/ ...
- Visual Leak Detector 2.2.3 Visual C++内存检测工具
Visual Leak Detector是一款免费的.健全的.开源的Visual C++内存泄露检测系统.相比Visual C++自带的内存检测机制,Visual Leak Detector可以显 ...
- iOS一个很好的内存检测工具
虽然Xcode提供了instrument来检测内存,但是使用起来怎么看都很麻烦.然后有一个很不错的内存泄露的检测工具MLeaksFinder,使用的话不需要注入任何代码,直接导入库就行了.出现泄露的时 ...
随机推荐
- Axiso解决跨域访问(...XMLHttpRequest cannot load http://xxx.xxx No 'Access-Control-Allow-Origin'...)
直接访问如下:this.$axios.get("http://localhost:8089/yc/demo").then(res=>{ console.log(res) ...
- canal 结合 kafka 入门
1.kafka的安装: 略 2.cannal 配置 使用卡夫卡: 修改 /home/admin/canal-server/conf/canal.properties 2.1 修改canal.ser ...
- RGB颜色值转化为long 型数字
通常我们表达颜色都是使用RGB值表示的,今天在VB中设置RGB值居然是一个整形数字,网上各种搜资料发现这个数字是怎么来的: 数值= 65536*Blue + 256* Green + Red
- cxGrid类似pagecontrol的效果
1.对TcxGrid创建多个Level 2.对TcxGrid的TcxGridLevelOptions的TabsForEmptyDetail设置为True 3.再设置DetailTabsPosition ...
- PostgreSQL使用笔记
下载并安装 注意安装图形界面 pgAdmin 需要输入缺省用户 postgres 的密码 在 Windows 下安装之后注意把 bin文件夹加到 Path 环境变量中. 重置密码 使用管理员权限打开 ...
- vue.js插值,插入图片,属性
<html><head><title>Insert title here</title><script type="text/javas ...
- 37.Spring-事务控制.md
目录 1.分类 2.Spring对jadc事务管理 2.1xml方式 2.1.1首先定义Dao对象和Server对象 2.1.2配置文件实现事务管理 2.2注解方式 2.2.1对象类 2.2.2配置文 ...
- office 安装
在 gaobo百度云下载安装包. 自定义安装,并在自定义界面选择安装路径. 破解:
- H5页面input输入框含有键盘自带的表情符时显示异常
在做一个关于新闻的评论功能的H5页面时,需求里面要求能够发送表情显示表情,如果使用自定义的表情库,则在评论也还要加载大量的表情符图片,极大的影响加载速度,消耗流量,去看了下别的新闻网页版的评论部分也没 ...
- 用element-ui 时,报value.getTime is not a function错误:
在用element-ui 时,报value.getTime is not a function错误:错误分析:date-picker 的时间是格林威时间,如果Thu Jun 22 2017 19:07 ...