[发明专利]基于程序分析结果的字节码插桩方法、装置及存储介质有效
| 申请号: | 202010671078.1 | 申请日: | 2020-07-13 |
| 公开(公告)号: | CN111913878B | 公开(公告)日: | 2023-09-15 |
| 发明(设计)人: | 赵明;冯文亮;陈俊;程烨;曹栋 | 申请(专利权)人: | 苏州洞察云信息技术有限公司;上海浦东发展银行股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 李昂;张颖玲 |
| 地址: | 215101 江苏省苏州市吴中区木*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 程序 分析 结果 字节 码插桩 方法 装置 存储 介质 | ||
1.基于程序分析结果的字节码插桩方法,其特征在于,所述方法包括:
基于程序的源代码划分的至少一个基本块的基本块信息,确定候选插桩点信息;所述基本块的类型包括逻辑块或插桩块,所述基本块信息包括以下至少一种:所述基本块所属的文件的身份标识号ID、所述基本块的标识信息、所述基本块的行号和所述基本块的块类型标识;
在所述候选插桩点信息对应的基本块包括逻辑块的情况下,删除所述逻辑块对应的候选插桩点信息;
确定所述候选插桩点信息中除已删除的候选插桩点信息之外的候选插桩点信息为目标插桩点信息;
判断所述目标插桩点信息对应的基本块是否为起始块;在所述目标插桩点信息对应的基本块是起始块的情况下,确定目标插桩点的代码包括第一字符串;或者,在所述目标插桩点信息对应的基本块不是起始块的情况下,确定所述目标插桩点的代码包括第二字符串;
基于所述目标插桩点的代码设置对应的目标插桩点;
所述目标插桩点用于获取所述目标插桩点对应的基本块的运行信息。
2.根据权利要求1所述的方法,其特征在于,所述候选插桩点信息包括:
所述候选插桩点对应的基本块信息和所述候选插桩点的位置信息。
3.根据权利要求2所述的方法,其特征在于,所述候选插桩点的位置信息包括:
所述候选插桩点对应的基本块的代码的行号之前。
4.基于程序分析结果的字节码插桩装置,其特征在于,所述装置包括:
确定单元,用于基于程序的源代码划分的至少一个基本块的基本块信息,确定候选插桩点信息;所述基本块的类型包括逻辑块或插桩块,所述基本块信息包括以下至少一种:所述基本块所属的文件的身份标识号ID、所述基本块的标识信息、所述基本块的行号和所述基本块的块类型标识;
过滤单元,用于在所述候选插桩点信息对应的基本块包括逻辑块的情况下,删除所述逻辑块对应的候选插桩点信息;
所述确定单元,还用于确定所述候选插桩点信息中除已删除的候选插桩点信息之外的候选插桩点信息为目标插桩点信息;
判断单元,用于判断所述目标插桩点信息对应的基本块是否为起始块;
所述确定单元,还用于在所述目标插桩点信息对应的基本块是起始块的情况下,确定目标插桩点的代码包括第一字符串;或者,在所述目标插桩点信息对应的基本块不是起始块的情况下,确定所述目标插桩点的代码包括第二字符串;
设置单元,用于基于所述目标插桩点的代码设置对应的目标插桩点;
所述目标插桩点用于获取所述目标插桩点对应的基本块的运行信息。
5.根据权利要求4所述的装置,其特征在于,所述候选插桩点信息包括:
所述候选插桩点对应的基本块信息和所述候选插桩点的位置信息。
6.根据权利要求5所述的装置,其特征在于,所述候选插桩点的位置信息包括:
所述候选插桩点对应的基本块的代码的行号之前。
7.一种存储介质,存储有可执行程序,其特征在于,所述可执行程序被处理器执行时,实现权利要求1至3任一项所述的基于程序分析结果的字节码插桩方法。
8.基于程序分析结果的字节码插桩装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至3任一项所述的基于程序分析结果的字节码插桩方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州洞察云信息技术有限公司;上海浦东发展银行股份有限公司,未经苏州洞察云信息技术有限公司;上海浦东发展银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010671078.1/1.html,转载请声明来源钻瓜专利网。





