节点文献

一种动态内存泄露检测方法

A Dynamic Method for Detecting Memory Leak

  • 推荐 CAJ下载
  • PDF下载
  • 不支持迅雷等下载工具,请取消加速工具后下载。

【作者】 许宝喜王林章

【Author】 Xu Bao-xi1,2 Wang Lin-zhang1,2 1 National Key Laboratory of Computer Software New Technology,Jiangsu Nanjing,210093 2 Computer Science and Technology Department of Nanjing University,Jiangsu Nanjing,210093

【机构】 软件新技术国家重点实验室南京大学计算机科学与技术系

【摘要】 内存泄露问题一直是C、C++等程序员们非常关心的一个问题,借助一些工具,程序员可以认识程序中存在的内存泄露问题。对于内存泄露检测分为静态和动态方法:静态方法一般采取分析,验证手段对源程序进行处理,不需要执行程序;动态方法则是让程序运行,监视程序的运行,获取程序的行为,从而分析是否有内存泄露问题。本文针对内存泄露问题,提出了一种动态检测内存泄露的方法,这种方法在向程序员提供更加有效的诊断信息方面做了一些研究工作。在以往的很多动态内存泄露的检测工具中,更多地关注了在程序的什么地方申请的内存发生了泄露,而对于这个泄露为何会产生所做的工作很少。在我们的这个工作中,对源程序进行了插桩。通过动态插桩的方式,收集程序的运行轨迹,将发生内存泄露时的内存轨迹呈现于程序员。并将该运行轨迹与在同一个地方申请了内存,却没有发生内存泄露的轨迹进行比对,指出可能是哪一个条件判断导致了内存泄露的发生。

【Abstract】 Memory leak is a very big concern of C,C++ programmers;it causes lots of headache to programmers.Programmers use some tools to detect memory leak problem.We introduce a dynamic method,to detect memory leak in an execution of the program.Our method aims at providing more useful information to help programmers analyze the root cause of memory leak problem.In the traditional methods,those tools just figure out which memory allocated will be leaked,but few pointed out the root cause of the leak.In our tool,we instrument the source code,and show the programmers the path the execution traversed.Also,we show the probably condition (branch) which causes the memory leak to happen.

【关键词】 内存泄露动态插桩静态
【Key words】 memory leakdynamic instrumentationstatic
  • 【会议录名称】 全国第20届计算机技术与应用学术会议(CACIS·2009)暨全国第1届安全关键技术与应用学术会议论文集(下册)
  • 【会议名称】全国第20届计算机技术与应用学术会议(CACIS·2009)暨全国第1届安全关键技术与应用学术会议
  • 【会议时间】2009-07-17
  • 【会议地点】中国广西南宁
  • 【分类号】TP311.11
  • 【主办单位】中国仪器仪表学会(CIS)、中国系统仿真学会(CSSS)、中国仪器仪表学会微型计算机应用学会(CACIS)、中国系统仿真学会复杂系统建模与仿真计算专业委员会筹备处(CSSC)
节点文献中: 

本文链接的文献网络图示:

本文的引文网络