【技术实现步骤摘要】
编码方法、返回信息配置方法、装置和计算机设备
[0001]本申请涉及计算机
,特别是涉及一种编码方法、返回信息配置方法、装置和计算机设备。
技术介绍
[0002]随着科学技术的发展,出现了越来越多的应用软件。比如,出现了即时通信应用或者资源交换应用等等。在运行应用软件的过程中,可采集应用软件的运行信息,从而基于采集得到的运行信息确定应用软件中是否存在缺陷,从而基于定位到的缺陷对应用软件进行修改或更新等。
[0003]目前,主要是通过人工修改应用软件的代码的方式来得到应用软件运行时的运行信息,但是通过人工来修改应用软件的代码方式会降低了运行信息的获取效率。
技术实现思路
[0004]基于此,有必要针对上述技术问题,提供一种能够提升运行信息获取效率的编码方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种编译方法,所述方法包括:
[0006]响应于编译请求,获取所述编译请求指向的应用软件的类文件集合;
[0007]针对所述类文件集合中的每个类文件,根据所针对的类文件中的函数的函数相关信息,从所述针对的类文件中筛选出待插桩的任务函数;
[0008]在所述针对的类文件中的任务函数中查找用以实现任务函数的代码逻辑的实现函数,并在查找到的所述实现函数中插入预设插桩代码;
[0009]将所述针对的类文件中的所述实现函数的函数相关信息进行反馈;
[0010]其中,反馈的所述实现函数的函数相关信息,用于确定与插
【技术保护点】
【技术特征摘要】
1.一种编译方法,其特征在于,所述方法包括:响应于编译请求,获取所述编译请求指向的应用软件的类文件集合;针对所述类文件集合中的每个类文件,根据所针对的类文件中的函数的函数相关信息,从所述针对的类文件中筛选出待插桩的任务函数;在所述针对的类文件中的任务函数中查找用以实现任务函数的代码逻辑的实现函数,并在查找到的所述实现函数中插入预设插桩代码;将所述针对的类文件中的所述实现函数的函数相关信息进行反馈;其中,反馈的所述实现函数的函数相关信息,用于确定与插入的相应预设插桩代码对应的返回信息,确定的所述返回信息,用于确定运行所述应用软件时的运行信息。2.根据权利要求1所述的方法,其特征在于,所述运行信息包括测试结果,所述方法还包括:响应于对所述应用软件的测试指令,执行编译后的类文件集合中的类文件以运行所述应用软件,并根据执行到类文件中的预设插桩代码时获取得到的相应返回信息,确定所述应用软件的测试结果。3.根据权利要求1所述的方法,其特征在于,所述根据所针对的类文件中的函数的函数相关信息,从所述针对的类文件中筛选出待插桩的任务函数包括:获取与所述针对的类文件相对应的类节点树;所述类节点树包括与所述针对的类文件中的函数相对应的方法节点;将所述类节点树中的方法节点按照在所述类节点树中的顺序进行遍历;获取与遍历的方法节点相对应的函数的函数相关信息,根据获取的函数相关信息判断与所述遍历的方法节点相对应的函数是否为任务函数。4.根据权利要求2所述的方法,其特征在于,所述根据获取的函数相关信息判断与所述遍历的方法节点相对应的函数是否为任务函数,包括:在与所针对的方法节点相对应的函数的函数相关信息中包括预设插桩注解的情况下,将与所述针对的方法节点相对应的函数作为候选函数;在所述候选函数的函数相关信息包括与第一预设函数名相匹配的函数名、且包括与预设函数描述符相匹配的函数描述符与情况下,确定所述候选函数为待插桩的任务函数。5.根据权利要求1所述的方法,其特征在于,所述在所述针对的类文件中的任务函数中查找用以实现任务函数的代码逻辑的实现函数,包括:获取第二预设函数名,并针对所述针对的类文件中的每个所述任务函数,对所针对的任务函数中的内部函数进行遍历;在遍历的内部函数的函数名与所述第二预设函数名相匹配的情况下,确定所述遍历的内部函数为所述针对的任务函数中的实现函数。6.根据权利要求1所述的方法,其特征在于,所述将所述实现函数的函数相关信息进行反馈,包括:将所述针对的类文件中每个所述任务函数中的实现函数的函数相关信息写入初始文件中,得到函数相关信息文件;将所述函数相关信息文件发送至服务器,以使所述服务器确定所述针对的类文件中的每个所述预设插桩代码各自对应的返回信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对所述针对的类文件中的每个所述任务函数,提取所针对的任务函数的预设插桩注解中的参数类型注解;根据所述参数类型注解确定对应的返回信息编码方式;生成与所述返回信息编码方式相对应的返回信息编码代码,并将所述返回信息编码代码插入至所述针对的任务函数中的所述实现函数中。8.根据权利要求7所述的方法,其特征在于,在所述获取与执行到的预设插桩代码对应的返回信息之后,所述方法还包括:响应于对所述应用软件的测试指令,执行编译后的类文件集合中的类文件,并确定包括有执行到的预设插桩代码的目标任务函数;根据插入至所述目标任务函数中的返回信息编码代码,对获取得到的与所述执行到的预设插桩代码相对应的返回信息进行编码,得到编码返回信息;根据所述编码返回信息,确定所述应用软件的测试结果。9.根据权利要求1至8任意一项所述的方法,其特征在于,所述任务函数为表征异步操作的函数;所述预设插桩代码为网络请求代码,用于请求测试服务器返回相应...
【专利技术属性】
技术研发人员:张永康,巫文杰,柳永峰,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。