[发明专利]一种内存泄漏的检测方法及装置有效
申请号: | 201811646001.8 | 申请日: | 2018-12-29 |
公开(公告)号: | CN109857615B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 张晨阳 | 申请(专利权)人: | 奇安信科技集团股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/32;G06F11/07 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄漏 检测 方法 装置 | ||
1.一种内存泄漏的检测方法,其特征在于,所述检测方法包括:
在对指定对象的监控过程中,在监测到针对所述指定对象的每次操作时,获取针对所述指定对象的每次操作后的内存占用率;其中,所述指定对象包括程序模块、进程、函数或者命令行中的至少一种;
根据针对所述指定对象的每次操作后的内存占用率,检测所述指定对象是否存在内存泄露;
其中,所述根据针对所述指定对象的每次操作后的内存占用率,检测所述指定对象是否存在内存泄露,包括:
针对每次操作,检测针对所述指定对象的该次操作后的内存占用率的变化情况是否与该次操作的操作类型所对应的内存占用率预设变化情况相一致;其中,所述操作类型包括调用指定对象和释放指定对象;当操作类型为所述释放指定对象时,内存占用率预设变化情况为内存减少预设值;当操作类型为所述调用指定对象时,内存占用率预设变化情况为内存增加预设值;
当检测到针对所述指定对象的该次操作后的内存占用率的变化情况与该次操作的操作类型所对应的内存占用率预设变化情况不一致时,确定所述指定对象存在内存泄露。
2.根据权利要求1所述的方法,其特征在于,所述在监测到针对所述指定对象的每次操作时,获取针对所述指定对象的每次操作后的内存占用率之后,所述方法还包括:
输出针对所述指定对象的每次操作后的内存占用率的可视化信息。
3.根据权利要求1所述的方法,其特征在于,所述确定所述指定对象存在内存泄露之后,所述方法还包括:
输出报警信息。
4.一种内存泄露的检测装置,其特征在于,所述检测装置包括:
获取模块,用于在对指定对象的监控过程中,在监测到针对所述指定对象的每次操作时,获取针对所述指定对象的每次操作后的内存占用率;其中,所述指定对象包括程序模块、进程、函数或者命令行中的至少一种;
检测模块,用于根据针对所述指定对象的每次操作后的内存占用率,检测所述指定对象是否存在内存泄露;其中,所述检测模块包括:
检测单元,用于针对每次操作,检测针对所述指定对象的该次操作后的内存占用率的变化情况是否与该次操作的操作类型所对应的内存占用率预设变化情况相一致;其中,所述操作类型包括调用指定对象和释放指定对象;当操作类型为所述释放指定对象时,内存占用率预设变化情况为内存减少预设值;当操作类型为所述调用指定对象时,内存占用率预设变化情况为内存增加预设值;
确定单元,用于当检测到针对所述指定对象的该次操作后的内存占用率的变化情况与该次操作的操作类型所对应的内存占用率预设变化情况不一致时,确定所述指定对象存在内存泄露。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第一输出模块,用于输出针对所述指定对象的每次操作后的内存占用率的可视化信息。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第二输出模块,用于输出报警信息。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的内存泄露的检测方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3中任一项所述的内存泄露的检测方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司,未经奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811646001.8/1.html,转载请声明来源钻瓜专利网。