[发明专利]内存泄漏的监测方法有效
| 申请号: | 201510736283.0 | 申请日: | 2015-11-03 |
| 公开(公告)号: | CN105260314B | 公开(公告)日: | 2018-06-29 |
| 发明(设计)人: | 刘华敏 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 杭州千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
| 地址: | 201616 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存泄漏 内存 数据结构体 管理链表 释放 监测 内存分配 路由器内存 报警信号 基本信息 内存领域 遍历 分配 记录 泄漏 应用 | ||
1.一种内存泄漏的监测方法,其特征在于,应用于在路由器内存发生泄漏时报警,所述监测方法包括:
对内存进行分配,在管理链表中用数据结构体记录内存分配的基本信息;
释放内存,遍历所述管理链表,寻找所述内存对应的数据结构体;
判断释放内存的地址与所述数据结构体记录的内存分配BUF地址是否相同;
若相同则释放所述管理链表,释放分配的内存,若不同,则判断出现内存泄漏,发出报警信号;
创建内存泄漏链表,保存内存泄漏的所述数据结构体于所述内存泄漏链表中;记录和保存内存泄漏的管理信息;
提供一相对于所述内存泄漏链表的上层应用,所述上层应用调用所述内存泄漏链表的最大阈值,当内存泄漏超过所述最大阈值,则向所述上层应用报警。
2.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述基本信息包括:链表和/或分配BUF时赋予的地址和/或分配内存的数量和/或分配内存的次数和/或分配内存的函数入口和需要追溯的堆栈的地址。
3.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:创建调用进程,所述调用进程接收控制命令,调用读取记录所述基本信息的接口;将所述管理链表中的数据结构体输出至串口上。
4.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:创建调用进程,所述调用进程接收控制命令,所述调用进程根据所述控制命令同一删除所述管理链表的节点,并且清理内存泄漏链表。
5.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:所述最大阈值为变量,当分配内存时,叠加所述最大阈值,释放内存时,递减所述最大阈值。
6.根据权利要求1、3任意一个所述的内存泄漏的监测方法,其特征在于,所述方法还包括:
所述内存泄漏链表设有上限,当记录所述内存泄漏的管理信息时,将所述管理信息插入所述内存泄漏链表的链表头。
7.根据权利要求6所述的内存泄漏的监测方法,其特征在于,所述方法还包括:当到达所述内存泄漏链表上限时,移除所述内存泄漏链表的链表尾的记录后,将所述管理信息插入所述内存泄漏链表的链表头。
8.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:记录内存泄漏的堆栈,通过GDB调试确定定位所述堆栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510736283.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存储虚拟化数据处理方法以及装置
- 下一篇:一种日志记录方法、装置及系统





