[发明专利]内存泄露检测方法、装置、计算机设备和存储介质在审
申请号: | 202111455500.0 | 申请日: | 2021-12-01 |
公开(公告)号: | CN114238086A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 颜天佑;蔡蒂;谢剑翔;王遂 | 申请(专利权)人: | 广东电网有限责任公司广州供电局 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 唐敏 |
地址: | 510665 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 泄露 检测 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种内存泄露检测方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:获取与内存操作对应的待检测代码;生成与待检测代码对应的控制流图,并根据控制流图确定出节点路径;依据代码指令与哈希表操作的对应关系,依次对节点路径中的各节点的代码指令执行对应的哈希表操作,并更新哈希表状态;根据执行完成的节点路径对应的哈希表状态,确定待检测代码中是否存在内存泄露。采用本方法能够在不运行待检测代码的情况下,检测出待检测代码是否存在内存泄露,因此能够节省运行成本。
技术领域
本申请涉及智能电网技术领域,特别是涉及一种内存泄露检测方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
近年来,智能电网技术的快速发展,为保障智能电网的可靠稳定运行,需要保障智能电网中的代码指令的准确可靠性。代码指令的异常之一为代码指令中出现内存泄露的情况。内存泄漏指的是代码指令动态申请内存,在内存使用完之后释放不及时、没有释放或者错误释放,导致这部分内存没有被系统回收,即造成内存泄露。基于智能电网系统的用户访问量大、持续性强等特点,随着智能电网中软件的运行、用户持续访问的情况,内存泄漏不断累积,消耗的系统资源无法重新利用,导致程序内存不断增大,系统内存不足,从而影响智能电网的正常运行:轻则导致用户访问智能电网时发生延迟、异常的情况,严重时将导致智能电网的系统崩溃。内存泄漏并不是一个显式错误,也就是说编程人员不能直接通过代码形式检查发现内存泄露的问题。针对智能电网中的内存泄露问题,目前的技术方案一般是在从智能电网的数据流中获取与内存操作对应的待检测代码后,运行待检测代码,根据待检测代码的运行结果来判断待检测代码是否存在内存泄露的问题。但是,目前的技术方案中,针对不同的待检测代码都需要进行运行检测,需要消耗大量的运行成本。
因此,如何在内存泄露检测过程中,降低运行成本的消耗,是本领域技术人员目前需要解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低运行成本的消耗的内存泄露检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种内存泄露检测方法,所述方法包括:
获取与内存操作对应的待检测代码;
生成与所述待检测代码对应的控制流图,并根据所述控制流图确定出节点路径;
依据代码指令与哈希表操作的对应关系,依次对所述节点路径中的各节点的代码指令执行对应的哈希表操作,并更新哈希表状态;
根据执行完成的所述节点路径对应的哈希表状态,确定所述待检测代码中是否存在内存泄露。
在其中一个实施例中,所述依据代码指令与哈希表操作的对应关系,依次对所述节点路径中的各节点的代码指令执行对应的哈希表操作,并更新哈希表状态,包括:
将所述控制流图中的各所述节点路径输入至中间模型;
利用所述中间模型解析各所述节点,并将各所述节点按照所述控制流图的形式转存至所述中间模型中;
通过所述中间模型依次调用所述节点路径中的各所述节点,依据所述代码指令与所述哈希表操作的对应关系,对各所述节点的所述代码指令执行对应的哈希表操作,并更新所述哈希表状态。
在其中一个实施例中,所述通过所述中间模型依次调用所述节点路径中的各所述节点,依据所述代码指令与所述哈希表操作的对应关系,对各所述节点的所述代码指令执行对应的哈希表操作,并更新所述哈希表状态,包括:
通过所述中间模型依次调用所述节点路径中的各所述节点;
依据所述代码指令与所述哈希表操作的对应关系,确定出所述节点的代码指令对应的哈希表操作;
根据所述哈希表操作以及指针与内存块的映射关系,更新所述哈希表状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司广州供电局,未经广东电网有限责任公司广州供电局许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111455500.0/2.html,转载请声明来源钻瓜专利网。