[发明专利]内存分配代码检测方法、装置、计算机设备及存储介质在审
申请号: | 201910642148.8 | 申请日: | 2019-07-16 |
公开(公告)号: | CN110334031A | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 程耀 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存分配 中间语言代码 代码检测 应用程序代码 计算机设备 应用程序 检测 存储介质 目标指令 指令码 源码 申请 | ||
本申请公开了一种内存分配代码检测方法、装置、计算机设备及存储介质,在该方案中,计算机设备在获取到待检测应用程序代码的中间语言代码后,在待检测中间语言代码中确定指令码为目标指令码的目标中间语言代码,最后通过确定目标中间语言代码对应的源码在待检测应用程序代码中的位置信息,即可确定内存分配代码在待检测应用程序代码中的位置信息。可见,该方案通过目标中间语言代码即可确定待检测应用程序中内存分配代码的位置信息。而且本申请提供的内存分配代码检测方法无需运行应用程序,也无需穷尽应用程序的每种操作情况,因此操作简便,也可以避免内存分配代码检测不全面的问题。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种内存分配代码检测方法、装置、计算机设备及存储介质。
背景技术
应用程序在运行时通常会使用内存来存储数据,当被存储的数据不再被使用时,GC(Garbage Collection,垃圾回收)机制会将这些数据所占用的内存空间释放,以使这部分内存空间可以继续被使用。
在应用程序运行的过程中,如果内存分配操作过多或者过于频繁,就会触发垃圾回收,而垃圾回收会造成运行卡顿等不佳的表现,因此,如何在应用程序代码中检测出内存分配代码,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请提供了一种内存分配代码检测方法、装置、计算机设备及存储介质,以在在应用程序代码中检测出内存分配代码。
为实现上述目的,一方面,本申请提供了一种内存分配代码检测方法,包括:
获取待检测中间语言代码,所述待检测中间语言代码为对待检测应用程序代码进行编译得到的中间语言代码;
在所述待检测中间语言代码中确定指令码为目标指令码的目标中间语言代码;所述目标指令码为对应内存分配代码的指令码;
利用所述目标中间语言代码确定内存分配代码位置信息,所述内存分配代码位置信息为内存分配代码在所述待检测应用程序代码中的位置信息。
可选地,所述利用所述目标中间语言代码确定内存分配代码在所述待检测应用程序代码中的内存分配代码位置信息之后,还包括:
利用所述内存分配代码位置信息确定最后修改账号,所述最后修改账号为最后修改每行内存分配代码的账号;
向每个所述最后修改账号对应的代码编辑系统发送相应的内存分配代码位置信息和内存分配代码修改指令,以使所述代码编辑系统对所述内存分配代码进行修改。
可选地,所述向每个所述最后修改账号对应的代码编辑系统发送内存分配代码修改指令与对应的内存分配代码位置信息,包括:
利用预设任务分发系统的API向每个所述最后修改账号对应的代码编辑系统发送内存分配代码修改指令与对应的内存分配代码位置信息。
可选地,所述利用所述目标中间语言代码确定内存分配代码位置信息,包括:
利用所述目标中间语言代码确定内存分配代码在所述待检测应用程序代码中的行号与所属的函数名。
又一方面,本申请提供了一种内存分配代码检测系统,包括:
待检测中间语言代码获取模块,用于获取待检测中间语言代码;所述待检测中间语言代码为对待检测应用程序代码进行编译得到的中间语言代码;
目标中间语言代码确定模块,用于在所述待检测中间语言代码中确定指令码为目标指令码的目标中间语言代码;所述目标指令码为对应内存分配代码的指令码;
位置信息确定模块,用于利用所述目标中间语言代码确定内存分配代码位置信息,所述内存分配代码位置信息为内存分配代码在所述待检测应用程序代码中的位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910642148.8/2.html,转载请声明来源钻瓜专利网。