一种嵌入式系统内存泄露的检测方法技术方案

技术编号:4297115 阅读:658 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式系统内存泄露的检测方法,包括跟踪内存分配的过程和跟踪内存释放的过程的步骤,以及根据跟踪结果进行内存泄露检测的步骤;所述内存分配的过程包括通过内存分配函数的参数获取该内存分配函数分配的内存所对应的内存释放范围类型信息及内存释放位置信息并进行保存的步骤;所述内存释放的过程包括根据所述的内存释放范围类型信息及内存释放位置信息判断内存是否有效,并在内存有效时释放该内存的步骤。利用本发明专利技术所述的内存泄露检测方法,可实现对嵌入式系统内存泄露的分区检测,方法使用灵活、检测效率较高。

【技术实现步骤摘要】

本专利技术涉及一种内存处理方法,具体地说,是涉及一种对嵌入式系统内存泄露进行检测的方法,属于嵌入式系统

技术介绍
对于内存泄露,一般是指堆内存的泄露。堆内存,是指应用程序在运行过程中,利 用一些特定的函数从堆中分配的、而在使用完毕后再通过特定的函数予以释放的内存。如 果应用程序在使用完堆内存后没有将其释放,则这块内存就不能被再次使用,就认为这块 内存泄露了。 根据其发生的方式来分,内存泄露可以分为下述4类 (1)常发性内存泄露发生内存泄露的函数代码会被多次执行到,每次被执行的 时候都会导致一块内存泄露。 (2)偶发性内存泄露发生内存泄露的函数代码只有在某些特定环境或操作过程 下才会发生。 常发性和偶发性是相对的,对于特定的环境,偶发性也许就会变成常发性。 (3) —次性内存泄露发生内存泄露的函数代码只会被执行一次;或者由于算法 上的缺陷,导致总会有一块且仅有一块内存发生泄露。比如,在类的构造函数中分配内存, 在析构函数中却没有释放该内存,所以内存泄露只会发生一次。(4)隐式内存泄露程序在运行过程中不停地分配内存,但是直到结束的时候才释放内存。严格地说,此时并没有发生本文档来自技高网...

【技术保护点】
一种嵌入式系统内存泄露的检测方法,包括跟踪内存分配的过程和跟踪内存释放的过程的步骤,以及根据跟踪结果进行内存泄露检测的步骤;其特征在于,所述内存分配的过程包括通过内存分配函数的参数获取该内存分配函数分配的内存所对应的内存释放范围类型信息及内存释放位置信息并进行保存的步骤;所述内存释放的过程包括根据所述的内存释放范围类型信息及内存释放位置信息判断内存是否有效,并在内存有效时释放该内存的步骤。

【技术特征摘要】

【专利技术属性】
技术研发人员:田友强
申请(专利权)人:青岛海信宽带多媒体技术有限公司
类型:发明
国别省市:95[中国|青岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1