[发明专利]一种代码跟踪方法及装置有效
| 申请号: | 201611197658.1 | 申请日: | 2016-12-22 |
| 公开(公告)号: | CN108228448B | 公开(公告)日: | 2021-03-26 |
| 发明(设计)人: | 何启明 | 申请(专利权)人: | 中国移动通信集团公司;中国移动通信集团山东有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
| 地址: | 100033 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 跟踪 方法 装置 | ||
1.一种代码跟踪方法,其特征在于,包括:
获取预建立插件采集的数据,所述预建立插件依附在目标进程上;
对获取到的数据进行性能热点分析,并根据分析结果确定目标接口;
在生产环境下,对所述目标接口进行切片处理,提取出性能热点对应的程序片段;
在测试环境下,跟踪处于运行状态的所述程序片段获取路径跟踪信息;
在对所述目标接口进行切片处理之前,所述方法还包括:
根据获取到的数据获取目标注入点;
将传感器注入所述目标注入点,以获取所述传感器采集的交易中间件接口参数值;
所述对所述目标接口进行切片处理包括:
根据所述交易中间件接口参数值生成测试用例;
根据所述测试用例对生产隔离中间件和测试中间件进行业务探测处理,所述业务探测为从现网业务流、数据流提取程序片段。
2.根据权利要求1所述的方法,其特征在于,所述根据获取到的数据获取目标注入点包括:
选取调用堆栈中最低端的性能热点;
对选取的性能热点对应的函数进行分析,并根据分析结果判断选取的函数是否具有业务属性;
若是,则判断函数参数是否可正常序列化和反序列化;
若是,则判断函数参数是否小于预设字节长度阈值;
若是,则选取所述函数对应的注入点作为目标注入点。
3.根据权利要求2所述的方法,其特征在于,若判断获知选取的函数不具有业务属性或者函数参数不可正常序列化和反序列化或者函数参数大于或等于预设字节长度阈值,则判定选取的函数中不存在有效注入点;
构建选取的性能热点对应的函数参数的派生类;
对所述派生类进行克隆处理,获取克隆副本;
根据预加载派生类序列化方法,对克隆副本进行序列化处理获取有效注入点。
4.一种代码跟踪装置,其特征在于,包括:
获取模块,用于获取预建立插件采集的数据,所述预建立插件依附在目标进程上;
分析模块,用于对获取到的数据进行性能热点分析,并根据分析结果确定目标接口;
切片模块,用于在生产环境下,对所述目标接口进行切片处理,提取出性能热点对应的程序片段;
跟踪模块,用于在测试环境下,跟踪处于运行状态的所述程序片段获取路径跟踪信息;
所述装置还包括:查找模块;
所述查找模块,用于根据获取到的数据获取目标注入点;将传感器注入所述目标注入点,以获取所述传感器采集的交易中间件接口参数值;
所述切片模块,用于根据所述交易中间件接口参数值生成测试用例;根据所述测试用例对生产隔离中间件和测试中间件进行业务探测处理,所述业务探测为从现网业务流、数据流提取程序片段。
5.根据权利要求4所述的装置,其特征在于,所述查找模块,用于选取调用堆栈中最低端的性能热点;对选取的性能热点对应的函数进行分析,并根据分析结果判断选取的函数是否具有业务属性;若是,则判断函数参数是否可正常序列化和反序列化;若是,则判断函数参数是否小于预设字节长度阈值;若是,则选取所述函数对应的注入点作为目标注入点。
6.根据权利要求5所述的装置,其特征在于,所述查找模块,还用于若判断获知选取的函数不具有业务属性或者函数参数不可正常序列化和反序列化或者函数参数大于或等于预设字节长度阈值,则判定选取的函数中不存在有效注入点;构建选取的性能热点对应的函数参数的派生类;对所述派生类进行克隆处理,获取克隆副本;根据预加载派生类序列化方法,对克隆副本进行序列化处理获取有效注入点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团公司;中国移动通信集团山东有限公司,未经中国移动通信集团公司;中国移动通信集团山东有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611197658.1/1.html,转载请声明来源钻瓜专利网。





