快速定位错误源头的内存管理方法技术

技术编号:8452890 阅读:213 留言:0更新日期:2013-03-21 14:02
本发明专利技术提供一种快速定位错误源头的内存管理方法,从内存单元中预分配出部分内存作为静态内存,其余内存均为用于动态分配的内存;将所述静态内存划分为复数个静态管理块;通过内存分配登记步骤、执行内存变更步骤以及内存释放步骤实现,极大地节约了开发过程中的关于动态内存的除错时间,同时大幅提高产品在这方面的稳定性和可靠性。

【技术实现步骤摘要】

本专利技术涉及一种内存管理方法,特别涉及。
技术介绍
在嵌入式产品的软件开发过程中经常出现的动态内存问题包括动态内存泄漏、动态内存错误地址、动态内存多次释放等,严重影响了嵌入式产品的开发进度、可靠性、稳定性。随着嵌入式产品软件功能的日益复杂,同时客户对嵌入式产品的可靠性和稳定性要求越来越高,有必要找到一种相对简易同时快速但又要比较通用的动态内存管理方法,能够快速且准确定位内存错误的源头。现有技术中,一般是通过内存检测工具发现内存问 题,常见的有动态检测工具和静态检测工具。动态检测工具中有代表性的有valgrind,静态检测工具中有代表性的有lint。valgrind是一款Iinux下寻找内存管理的问题的开源工具,虽然具有比较丰富的内存管理能力但仅能适用于x86/amd/ppc的硬件平台和Iinux的软件平台。Iint是对程序进行更加广泛的错误分析,是一种更加严密的编译工具,但无法检测到软件中稍微复杂的动态内存使用问题,而面对更加微妙的内存分配策略,Iint无法胜任。还有一种是特定IDE开发平台提供的针对特定平台的动态内存检测模块,典型的有Vc++提供的debuger和crt堆除错函本文档来自技高网...

【技术保护点】
快速定位错误源头的内存管理方法,其特征在于:所述内存管理方法适用于基于C语言的嵌入式软件,首先从内存单元中预分配出部分内存作为静态内存,其余内存均为用于动态分配的内存;其次,将所述静态内存划分为复数个静态管理块;当动态分配新的内存时,执行内存分配登记步骤;当已分配的内存大小发生变化时,执行内存变更步骤;当已分配的内存需要释放时,执行内存释放步骤;所述内存分配登记步骤具体为:步骤1、查找未使用的静态管理块,若找到,执行步骤2,若未找到,输出错误信息并等待开发人员快速分析定位错误;步骤2、动态分配内存,若分配成功,将被分配的内存的首地址和内存大小记录到所述静态管理块,并将该静态管理块标记为已使用;...

【技术特征摘要】

【专利技术属性】
技术研发人员:翁俊峰张登峰余杭军
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:

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

1