浅论一种内存泄漏检测技术的研究和实现

浅论一种内存泄漏检测技术的研究和实现

ID:34804093

大小:3.01 MB

页数:58页

时间:2019-03-11

浅论一种内存泄漏检测技术的研究和实现_第1页
浅论一种内存泄漏检测技术的研究和实现_第2页
浅论一种内存泄漏检测技术的研究和实现_第3页
浅论一种内存泄漏检测技术的研究和实现_第4页
浅论一种内存泄漏检测技术的研究和实现_第5页
资源描述:

《浅论一种内存泄漏检测技术的研究和实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、北京交通大学硕士学位论文一种内存泄漏检测技术的研究和实现姓名:王皓申请学位级别:硕士专业:计算机应用技术指导教师:张骏温20080601中文摘要摘要:C/C++程序设计语言能够让程序员灵活而高效地进行动态堆内存的分配和释放,这是C/C++编程语言的重要优点之一;然而,由于程序的复杂性以及人类思维的局限性等主客观原因,程序员在利用C/C++编程语言这一特点管理动态内存时,很容易造成程序内存泄漏。因为短时间内这个问题并不会暴露出来,所以内存泄漏的错误往往会被忽视。如果不及时发现并解决程序中内存泄漏的问题,长时间运行存在内存泄漏的程序,将浪费

2、大量宝贵的系统内存资源,从而导致系统运行速度减慢甚至系统崩溃等严重后果。为了提高软件的性能,保证软件的可靠性,检测C/C++程序的内存泄漏具有重要的意义。为了获得较好的内存检测效果,本文在研究垃圾收集算法的基础上,提出了基于三色标记技术的指针式内存检测算法,这种算法没有对象拷贝操作,同时也就避免了拷贝算法造成的一些问题,譬如在活动对象较多时效率较差,会浪费一半的内存总量等等。其执行效率要优于一些传统的垃圾收集算法。VC++提供了内置的内存泄漏报告,但是其功能有限。本文在其基础上改进了报告方式,包括:为每一个泄漏的内存块提供了完整堆栈跟踪

3、,包括源代码文件名以及行号;以十六进制和ASCII码两种形式提供了完整的泄漏内存内容报告。关键词:内存泄漏;垃圾收集;三色标记分类号:TP39jE塞交通太堂亟±堂僮i佥塞.△垦墨!B△£至ABSTRACTABSTRACT:ProgrammersmaytakeadvantageofC/C++programminglanguagetoallocateorfreedynamicmemorybuteasilyfailedtoreleasepreviouslyallocatedmemoryblock.Theeffectofmemoryleakis

4、minorfortheshort-livedprogram.Butitisvitaltodetectandremovethememoryleak.Memoryleakmayconsumeamassofmemoryresource,eventuallycausetheprogramtofailduetolackofmemory.Inordertoenhancetheperformanceofsoftwareandassurethereliabilityofsoftware,itisveryimportanttodetectthememor

5、yleakinC/C++programs.Forbettereffectwhendetectingmemoryleak,analgorithmbasedontricolor-markingcollectionalgorithmispresentedwhichdoesnotcopymemoryelements,therebyavoidingsomeoftheproblemscausedbytheasynchronousmotionofobjects(forexample,lowpercentageofmemoryutilization).

6、Thisin—placedetectionschemehasapproximatelythesamecomplexityasothernon-movinggarbagecollectors,thusmakingitusableinahigh-levellanguageimplementationwheresomepointerscannotbetraced.VisualC++providesbuilt-inmemoryleakdetection.butitscapabilitiesareminimalatbest.Herearesome

7、featuresweintroduceinthisartical,noneofwhichexistinthebuilt.indetector:Itprovidesacompletestacktraceforeachleakedblock,includingsourcefileandlinenumberinformationwhenavailable.Itprovidescompletedatadumps(inhexandASCII)ofleakedblocks.Itprovidescustomizablelevelofdetailint

8、hememoryleakreport.Itprovidescustomizablelevelofdetailinthememoryleakreport.KEYWORDS:MemoryLeak;Garbage

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。