1.一种内存泄漏的监测方法,其特征在于,应用于在路由器内存发生泄漏时报警,所述监测方法包括:对内存进行分配,在管理链表中用数据结构体记录内存分配的基本信息;
释放内存,遍历所述管理链表,寻找所述内存对应的数据结构体;
判断释放内存的地址与所述数据结构体记录的内存分配BUF地址是否相同;
若相同则释放所述管理链表,释放分配的内存,若不同,则判断出现内存泄漏,发出报警信号;
创建内存泄漏链表,保存内存泄漏的所述数据结构体于所述内存泄漏链表中;记录和保存内存泄漏的管理信息;
提供一相对于所述内存泄漏链表的上层应用,所述上层应用调用所述内存泄漏链表的最大阈值,当内存泄漏超过所述最大阈值,则向所述上层应用报警。
2.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述基本信息包括:链表和/或分配BUF时赋予的地址和/或分配内存的数量和/或分配内存的次数和/或分配内存的函数入口和需要追溯的堆栈的地址。
3.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:创建调用进程,所述调用进程接收控制命令,调用读取记录所述基本信息的接口;将所述管理链表中的数据结构体输出至串口上。
4.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:创建调用进程,所述调用进程接收控制命令,所述调用进程根据所述控制命令同一删除所述管理链表的节点,并且清理内存泄漏链表。
5.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:所述最大阈值为变量,当分配内存时,叠加所述最大阈值,释放内存时,递减所述最大阈值。
6.根据权利要求1、3任意一个所述的内存泄漏的监测方法,其特征在于,所述方法还包括:所述内存泄漏链表设有上限,当记录所述内存泄漏的管理信息时,将所述管理信息插入所述内存泄漏链表的链表头。
7.根据权利要求6所述的内存泄漏的监测方法,其特征在于,所述方法还包括:当到达所述内存泄漏链表上限时,移除所述内存泄漏链表的链表尾的记录后,将所述管理信息插入所述内存泄漏链表的链表头。
8.根据权利要求1所述的内存泄漏的监测方法,其特征在于,所述方法还包括:记录内存泄漏的堆栈,通过GDB调试确定定位所述堆栈。