一种检测内存泄露的方法和装置与流程

文档序号:12550569阅读:来源:国知局

技术特征:

1.一种检测内存泄露的方法,其特征在于,所述内存中设置有第一链表和第二链表,所述第一链表中具有多个存储节点,所述方法包括:

确定执行内存申请操作的内存节点,所述内存节点具有对应的属性信息;

将所述内存节点对应的属性信息,写入所述第一链表中的存储节点;

将写入有属性信息的存储节点从所述第一链表移入第二链表;

当所述内存节点执行内存释放操作时,将所述写入有属性信息的存储节点从所述第二链表移入所述第一链表;

根据所述第一链表和所述第二链表确定内存泄露信息。

2.根据权利要求1所述的方法,其特征在于,在所述将写入有属性信息的存储节点从所述第一链表移入第二链表的步骤前,还包括:

建立所述内存节点的属性信息与所述写入有属性信息的存储节点的索引关系。

3.根据权利要求2所述的方法,其特征在于,所述当所述内存节点执行内存释放操作时,将所述写入有属性信息的存储节点从所述第二链表移入所述第一链表的步骤包括:

当所述内存节点执行内存释放操作时,根据所述内存节点的属性信息与所述写入有属性信息的存储节点的索引关系,在所述第二链表中查找出所述内存节点对应的存储节点;

删除所述存储节点中写入的属性信息;

将已删除属性信息的存储节点从所述第二链表中移入第一链表。

4.根据权利要求1或3所述的方法,其特征在于,所述根据所述第一链表和所述第二链表确定内存泄露信息的步骤包括:

根据所述第一链表和所述第二链表,输出内存实际使用信息;

根据所述内存实际使用信息,确定内存泄露信息。

5.根据权利要求1所述的方法,其特征在于,所述属性信息包括内存操作编号、内存文件名编号、内存文件行号、内存首地址,和/或,内存大小。

6.一种检测内存泄露的装置,其特征在于,所述内存中设置有第一链表和第二链表,所述第一链表中具有多个存储节点,所述装置包括:

内存节点确定模块,用于确定执行内存申请操作的内存节点,所述内存节点具有对应的属性信息;

属性信息写入模块,用于将所述内存节点对应的属性信息,写入所述第一链表中的存储节点;

第一移入模块,用于将写入有属性信息的存储节点从所述第一链表移入第二链表;

第二移入模块,用于当所述内存节点执行内存释放操作时,将所述写入有属性信息的存储节点从所述第二链表移入所述第一链表;

内存泄露信息确定模块,用于根据所述第一链表和所述第二链表确定内存泄露信息。

7.根据权利要求6所述的装置,其特征在于,还包括:

索引关系建立模块,用于建立所述内存节点的属性信息与所述写入有属性信息的存储节点的索引关系。

8.根据权利要求7所述的装置,其特征在于,所述第二移入模块包括:

存储节点查找子模块,用于在所述内存节点执行内存释放操作时,根据所述内存节点的属性信息与所述写入有属性信息的存储节点的索引关系,在所述第二链表中查找出所述内存节点对应的存储节点;

属性信息删除子模块,用于删除所述存储节点中写入的属性信息;

存储节点移入子模块,用于将已删除属性信息的存储节点从所述第二链表中移入第一链表。

9.根据权利要求6或8所述的装置,其特征在于,所述内存泄露信息确定模块包括:

内存信息输出子模块,用于根据所述第一链表和所述第二链表,输出内存实际使用信息;

内存泄露信息确定子模块,用于根据所述内存实际使用信息,确定内存泄露信息。

10.根据权利要求6所述的装置,其特征在于,所述属性信息包括内存操作编号、内存文件名编号、内存文件行号、内存首地址,和/或,内存大小。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1