北大青鸟
3/6 上一条 下一条
当前位置:主页>LINUX>linux实用技巧用valgrind做内存检查(内存泄露等)

linux实用技巧用valgrind做内存检查(内存泄露等)

来源: 作者: 发布时间:2007-10-09

用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。

Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上。valgrind包含一个核心,它提供一个虚拟的CPU运行程序,还有一系列的工具,它们完成调试,剖析和一些类似的任务。valgrind是高度模块化的,所以开发人员或者用户可以给它添加新的工具而不会损坏己有的结构。

valgrind的官方网址是:http://valgrind.org
你可以在它的网站上下载到最新的valgrind,它是开放源码和免费的。

一、介绍

valgrind包含几个标准的工具,它们是:

1、memcheck

memcheck探测程序中内存管理存在的问题。它检查所有对内存的读/写操作,并截取所有的malloc/new/free/delete调用。因此memcheck工具能够探测到以下问题:

1)使用未初始化的内存
2)读/写已经被释放的内存
3)读/写内存越界
4)读/写不恰当的内存栈空间
5)内存泄漏
6)使用malloc/new/new[]和free/delete/delete[]不匹配。

2、cachegrind

cachegrind是一个cache剖析器。它模拟执行CPU中的L1, D1和L2 cache,因此它能很精确的指出代码中的cache未命中。如果你需要,它可以打印出cache未命中的次数,内存引用和发生cache未命中的每一行代码,每一个函数,每一个模块和整个程序的摘要。如果你要求更细致的信息,它可以打印出每一行机器码的未命中次数。在x86和amd64上,cachegrind通过CPUID自动探测机器的cache配置,所以在多数情况下它不再需要更多的配置信息了。

3、helgrind

helgrind查找多线程程序中的竞争数据。helgrind查找内存地址,那些被多于一条线程访问的内存地址,但是没有使用一致的锁就会被查出。这表示这些地址在多线程间访问的时候没有进行同步,很可能会引起很难查找的时序问题。

二、valgrind对你的程序都做了些什么

valgrind被设计成非侵入式的,它直接工作于可执行文件上,因此在检查前不需要重新编译、连接和修改你的程序。要检查一个程序很简单,只需要执行下面的命令就可以了

valgrind --tool=tool_name program_name

比如我们要对ls -l命令做内存检查,只需要执行下面的命令就可以了

共5页: 上一页 1 [2] [3] [4] [5] 下一页


上一篇:Linux下软件安装方法经验总结   下一篇:河南及其它省的网通用户redhat fedora core 5上网的方法
如果你想咨询课程、学费、就业、开班等情况!请拨打我们的咨询热线0371-66252525 或者点击QQ右侧的图标与我们在线老师咨询!

热点新闻

开班信息

班级 类型 状态
YS113 周末班 热招
TS137 专修班 热招
YS112 周末班 热招
TS136 专修班 热招
YS111 周末班 余9座
TS135 专修班 余5座
TS134 专修班 余1座

免费讲座

时间:11月23日(本周日)14:00 内容:"黑客攻防"         "专家讲解职业规划" 抢座热线:0371-66252525 电话抢座    名额有限
北大青鸟就业案例
徐保金
学      历:大专
就职单位:金业集团
岗      位:网络工程师
    我是一名07年普通大专毕业的学生,毕业后心里很不踏实,对自己的前... >>详情

北大青鸟讲师
于江
毕业学校:天津大学
专      业:工学硕士
教学理念:晓之以理,动之以情,导之以行,持之以恒... >>详情

青鸟大事

人民日报、光明日报、中国青年报、中国计算机报等几十家媒体对公司进行了多方面的报道。
自成立以来,北大青鸟APTECH先后赢得了“中国IT公众认知企业金奖”、“本土最具知名度认证奖”、“最佳就业认同奖”、 “质量放心用户满意双优品牌”等数十个奖项;
2007年市场占有率达到38.6%(数据来源:IDC报告),成为中国IT职业培训领域不折不扣的领导品牌。
北大青鸟APTECH凭借自身的卓越表现,自2001年至2007年,已连续7年实现全国市场排名第一。
北大青鸟APTECH先进的教学方法、优质的教育产品和规范的经营管理模式已经得到了来自国际(ISO9001认证)、国内(劳动与社会保障部OSTA联合认证)的双重认可。
目前,公司已在全国20多个省份、自治区、直辖市的100余个重点城市发展了240余家授权培训中心,全体系教职员工10000余人,培养学员逾30万人,发展速度之快、经营规模之大、学员人数之多,在全国众多IT职业培训机构中一枝独秀。
所有中心实行统一经营管理、严格保证教学质量,受到社会和业界的高度认可。
公司采取特许经营的业务模式,在全国建立“北大青鸟APTECH计算机授权培训中心”。
在8年的发展历程中,公司依托北京大学雄厚的教育背景,在科学先进的管理经验、系统完美的教材编排、以人为本的课程设置的基础上,已发展成为中国现代信息技术教育领域的先锋。
公司服务于国内IT职业教育领域,致力于为中国IT产业培养技能型紧缺实用人才。
北京阿博泰克北大青鸟信息技术有限公司(简称“北大青鸟APTECH”) 成立于2000年1月,是北京大学青鸟集团与印度阿博泰克公司(APTECH)合资组建的专业IT职业教育公司。
  • 北大青鸟电话:0371-66252525
  • 教质服务热线:15890063901
  • 夜间咨询热线:13676985050
北大青鸟电子杂志