在IBMBluemix云平台上
开发并部署您的下一个应
用。
开始您的试用
IBMBluemix点击按钮,开始云上的开发!
开始您的试用
如何定位应用程序开发中的内存问题,一直是inux应用程序开发中的瓶颈所在。有一款非常优秀的linux下开源的内存
问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握valgrind的使用以及工作原理,能够有效地定位进而避
免应用开发中的内存问题。
杨经,他的技术兴趣包括自动化测试与linux系统管理。目前是IBM中国系统与技术实验室(CSTL)的软件工程师,从事中小型企业(SME)服务器的测
试工作,可以通过cdlyangj@cn.ibm.com与他联系。
2008年11月27日
应用Valgrind发现Linux程序的内存问题
Valgrind概述
体系结构
Valgrind是一套Linux下,开放源代码(GPLV2)的仿真调试工具的集合。Valgrind由内核(core)以及基
于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务
给其他工具;而其他工具则类似于插件(plugin),利用内核提供的服务完成各种特定的内存调试任务。
Valgrind的体系结构如下图所示:
图1Valgrind体系结构
Valgrind包括如下一些工具:
1.Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存
错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。这也是本文将
重点介绍的部分。
2.Callgrind。它主要用来检查程序中函数调用过程中出现的问题。
3.Cachegrind。它主要用来检查程序中缓存使用出现的问题。
developerWorks中国 技术主题 Linux 文档库
应用Valgrind发现Linux程序的内存问题
评论0
最新资源