[发明专利]局部变量查询方法、装置、服务器及存储介质在审
| 申请号: | 202110857966.7 | 申请日: | 2021-07-28 |
| 公开(公告)号: | CN113553059A | 公开(公告)日: | 2021-10-26 |
| 发明(设计)人: | 刘正阳 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 蔡抒枫 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 局部 变量 查询 方法 装置 服务器 存储 介质 | ||
本公开关于一种局部变量查询方法、装置、服务器及存储介质,该方法包括:根据局部变量查询请求,确定待查询编译文件中的待查询指令行;生成与所述待查询指令行关联的局部变量获取指令;所述局部变量获取指令用于获取所述待查询指令行中的局部变量的变量信息;在所述待查询编译文件中的待查询指令行中,添加所述局部变量获取指令,得到新的编译文件;当执行到所述新的编译文件中的所述待查询指令行时,通过所述局部变量获取指令,获取所述待查询指令行中的局部变量的变量信息。采用本方法,实现了在编译文件运行时,动态查询待查询指令行中的局部变量的变量信息的目的,有利于提高局部变量查询效率。
技术领域
本公开涉及计算机技术领域,尤其涉及一种局部变量查询方法、装置、服务器及存储介质。
背景技术
在程序开发过程中或者在线上排查问题时,经常需要对运行中的程序进行问题定位,其中一种常见的需求是查看程序中的某个局部变量在执行到某一行时的变量信息。
相关技术中,目前的局部变量查询方法,是通过在源代码中手动添加一段用于查看局部变量的变量信息的目标代码,并重新打包上线,当执行到目标代码时,则可以获取相应局部变量的变量信息;但是,通过手动添加代码并重新打包上线的过程比较繁琐,特别是在没有源代码时,还需要对代码进行反编译,导致局部变量查询效率较低。
发明内容
本公开提供一种局部变量查询方法、装置、服务器及存储介质,以至少解决相关技术中局部变量查询效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种局部变量查询方法,包括:
根据局部变量查询请求,确定待查询编译文件中的待查询指令行;
生成与所述待查询指令行关联的局部变量获取指令;所述局部变量获取指令用于获取所述待查询指令行中的局部变量的变量信息;
在所述待查询编译文件中的待查询指令行中,添加所述局部变量获取指令,得到新的编译文件;
当执行到所述新的编译文件中的所述待查询指令行时,通过所述局部变量获取指令,获取所述待查询指令行中的局部变量的变量信息。
在一示例性实施例中,所述生成与所述待查询指令行关联的局部变量获取指令,包括:
通过预先生成的局部变量查询文件,查询所述待查询编译文件中的指令行和局部变量之间的匹配关系,确定所述待查询指令行中的局部变量;
根据所述待查询指令行中的局部变量,生成用于获取所述局部变量的变量信息的局部变量获取指令,并将生成的所述局部变量获取指令,作为与所述待查询指令行关联的局部变量获取指令。
在一示例性实施例中,所述预先生成的局部变量查询文件通过下述方式得到:
获取所述待查询编译文件中的指令行和局部变量之间的匹配关系;
获取指令集;所述指令集用于根据所述匹配关系,生成与指令行关联的局部变量获取指令;
将所述指令集封装成预设格式的文件,并将所述文件作为所述预先生成的局部变量查询文件。
在一示例性实施例中,所述获取所述待查询编译文件中的指令行和局部变量之间的匹配关系,包括:
获取所述待查询编译文件的指令行和字节码指令范围之间的第一匹配关系,以及所述待查询编译文件的局部变量和字节码指令范围之间的第二匹配关系;
根据所述第一匹配关系和所述第二匹配关系,确定所述待查询编译文件中的指令行和局部变量之间的匹配关系。
在一示例性实施例中,所述当执行到所述新的编译文件中的所述待查询指令行时,通过所述局部变量获取指令,获取所述待查询指令行中的局部变量的变量信息,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110857966.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:导电基膜传送装置及镀膜机
- 下一篇:一种道岔侧冲区域防护方法及系统





