[发明专利]一种嵌入式系统内存泄露的检测方法有效
申请号: | 200910256476.0 | 申请日: | 2009-12-29 |
公开(公告)号: | CN101763305A | 公开(公告)日: | 2010-06-30 |
发明(设计)人: | 田友强 | 申请(专利权)人: | 青岛海信宽带多媒体技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 李升娟 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 内存 泄露 检测 方法 | ||
1.一种嵌入式系统内存泄露的检测方法,包括跟踪内存分配的过程和跟踪 内存释放的过程的步骤,以及根据跟踪结果进行内存泄露检测的步骤;其特征 在于,
所述内存分配的过程包括通过内存分配函数的参数获取该内存分配函数分 配的内存所对应的内存释放范围类型信息及内存释放位置信息并进行保存的步 骤,以及下述步骤:
通过内存分配函数的参数获取并保存内存分配函数所在的文件名、代码行 号及函数名信息;
查找与所述文件名和代码行号相对应的最大内存分配编号,将所述最大内 存分配编号加1,作为当前分配的内存的内存分配编号;
所述内存释放范围类型信息、内存释放位置信息、内存分配函数所在的文 件名、代码行号及函数名信息以数据结构的形式存在于内存中;而且,所述数 据结构中还包括有校验码,所述校验码的值在内存分配过程中根据所述内存释 放范围类型信息、内存释放位置信息、内存分配函数所在的文件名、代码行号 及函数名的信息来确定,并在所述内存释放过程中用于校验数据结构中的信息 的有效性;
其中,所述内存释放范围类型包括:本函数内,本文件内,本文件夹内, 本应用程序中,其他函数内,其他文件内,其他文件夹内以及不释放;
而所述内存释放的过程包括根据所述的内存释放范围类型信息及内存释放 位置信息判断内存是否有效,并在内存有效时释放该内存的步骤。
2.根据权利要求1所述的嵌入式系统内存泄露的检测方法,其特征在于, 在所述内存释放范围类型为本函数内、本文件内、本文件夹内、本应用程序中 及不释放时,所述内存释放位置的值无效;在所述内存释放范围类型为其他函 数内时,所述内存释放位置的值为相应的函数名称;在所述内存释放范围类型 为其他文件内时,所述内存释放位置的值为相应的文件名称;在所述内存释放 范围类型为其他文件夹内时,所述内存释放位置的值为相应的文件夹名称。
3.根据权利要求1或2所述的嵌入式系统内存泄露的检测方法,其特征在 于,在所述跟踪内存分配的过程中,若检测到内存分配编号超过设定值,则输 出相应的报警信号。
4.根据权利要求1所述的嵌入式系统内存泄露的检测方法,其特征在于, 在所述内存释放的过程中,在根据所述的内存释放范围类型信息及内存释放位 置信息判断内存是否有效的步骤之前,首先根据所述数据结构中的校验码判断 数据结构中的信息是否正确;在数据结构中的信息正确后,再执行所述判断内 存是否有效的步骤。
5.根据权利要求1所述的嵌入式系统内存泄露的检测方法,其特征在于, 所述数据结构中还包括有内存分配函数所分配的内存的内存指针信息及内存大 小的信息。
6.根据权利要求1所述的嵌入式系统内存泄露的检测方法,其特征在于, 所述内存分配函数所分配的内存包括程序本身所需的实际内存和所述数据结构 所占用的内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910256476.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:按钮装置及电子装置
- 下一篇:用于锁相环的软基准切换