一种诊断内存泄漏的方法及设备技术

技术编号:15639145 阅读:102 留言:0更新日期:2017-06-15 21:40
本发明专利技术涉及计算机技术应用领域,尤其涉及一种诊断内存泄漏的方法及设备,该方法包括:封装分配/释放内存的系统函数;调用封装后的分配/释放内存的函数。本发明专利技术实施例对系统函数Malloc/Free进行封装,开发者在系统内不再直接调用Malloc/Free,而是调用封装的函数。本发明专利技术实施例通过对系统函数的封装,在系统中清晰的记录内存的分配和释放情况,便于开发者查找系统中未释放的内存是否是当前系统运行所需要的,便于定位内存泄漏的问题。

【技术实现步骤摘要】
一种诊断内存泄漏的方法及设备
本专利技术涉及计算机技术应用领域,尤其涉及一种诊断内存泄漏的方法及设备。
技术介绍
在一些编程语言以及相关的运行时间中,通常会由应用程序本身提供一种内存管理功能。对于那不再被程序需要的内存是由程序设计员来释放。如果程序不能合理释放不同的内存将导致内存资源的浪费,即这些内存将不能被任何其他的程序使用。导致这种内存浪费的程序错误通常称之为“内存泄露”。内存泄露会导致计算机的性能降低,严重的时候会导致应用程序的运行占用所有的内存并导致计算机崩溃。因此,内存泄露由于其对计算机的性能造成巨大影响而消弱了计算机的可获得性和安全性。现有的内存泄露的诊断方法对工业应用的效果有限,因为这些现有的方法通常将基本类型识别为嫌疑类型。例如,一种现有技术建议使用引用来查找负责内存泄露的有用对象。但是引用不能包含执行语境信息。被引用的现有对象因为是基本的常见使用类型,可能同时被多个引用者持有。在这种情况下,人们依然不了解这些引用为什么会产生以及在何种条件下泄露问题会被再现,诊断以及修复是否正确难以进行判别。在嵌入式系统开发过程中,内存管理给了开发者很大的自由度,也给开发者管理内存带本文档来自技高网...
一种诊断内存泄漏的方法及设备

【技术保护点】
一种诊断内存泄漏的方法,其特征在于,该方法包括:封装分配/释放内存的系统函数;调用封装后的分配/释放内存的函数。

【技术特征摘要】
1.一种诊断内存泄漏的方法,其特征在于,该方法包括:封装分配/释放内存的系统函数;调用封装后的分配/释放内存的函数。2.根据权利要求1所述的方法,其特征在于,所述调用封装后的分配内存的函数,包括:首先对分配内存进行调用;如果分配内存成功调用,将对应的分配内存参数写入指定的分配内存配置文件中;如果分配内存不能成功调用,则不写入分配内存配置文件中。3.根据权利要求2所述的方法,其特征在于,所述分配内存参数包括:分配内存进程号、分配内存模块号、分配内存文件名、分配内存文件行号以及分配的内存空间大小。4.根据权利要求1或3所述的方法,其特征在于,所述调用封装后的释放内存的函数,包括:首先对释放内存进行调用;如果释放内存成功调用,将对应的释放内存参数写入指定的释放内存配置文件中;如果释放内存不能成功调用,则不写入释放内存配置文件中。5.根据权利要求4所述的方法,其特征在于,还包括:比较分配内存和释放内存,当分配内存配置文件中和释放内存配置文件中有相同项时,则删除分配内存和释放内存配置文件中的该对应项。6.根据权利要求5所述的方法,其特征在于,所述比较分配内存和释放内存,具体包括:比较分配内存和释放内存的参数,当分配内存配置文件中和释放内存配置文件中有相同参数项时,则删除分配内存和释放内存配置文件中的该对应参数项。7....

【专利技术属性】
技术研发人员:程如亮
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海,31

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

1