System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种功能模块修复方法、装置、计算机设备及存储介质。
技术介绍
1、随着计算机技术的发展,计算机系统的功能模块增多,相对应的功能模块出现的问题也增多,例如,语音sdk的应用场景增多,当语音sdk出现编码错误时,会导致在游戏过程中出现音频异常、程序崩溃以及异常访问服务器等问题,使得用户体验感差。因此,如何实现功能模块的修复,从而提升用户体验感是本领域研究的重点。
2、目前,常用的修复方式为由技术人员发布修复后的功能模块,然后用户通过终端来重新下载并安装新发布的功能模块,以进行功能模块修复。
3、但是,上述技术方案需要以重启系统的方式来实现功能模块的修复,耗费时间,实时性较差,使得用户体验感差。
技术实现思路
1、本申请实施例提供了一种功能模块修复方法、装置、计算机设备及存储介质,用于实现功能模块的实时修复。技术方案如下:
2、一方面,提供了一种功能模块修复方法,该方法包括:
3、获取待修复功能模块中变量的偏移量,该偏移量用于定位待修复功能模块中的异常数据;
4、基于该偏移量,生成命令对,该命令对包括跳转命令和修复命令,跳转命令用于在内存所加载的功能模块中对异常数据进行定位,修复命令用于对所定位到的异常数据进行修复;
5、在服务器上发布该命令对,该命令对用于终端在下载后执行,以对功能模块进行修复。
6、另一方面,提供了一种功能模块修复方法,该方法包括:
7、终端从服务
8、解析命令对中的跳转命令和修复命令;
9、基于解析后的跳转命令,在内存中定位异常数据,基于解析后的修复命令,对异常数据执行修复操作。
10、另一方面,提供了一种功能模块修复装置,该装置包括:
11、偏移量获取模块,用于获取待修复功能模块中变量的偏移量,偏移量用于定位待修复功能模块中的异常数据;
12、生成模块,用于基于偏移量,生成命令对,该命令对包括跳转命令和修复命令,跳转命令用于在内存所加载的功能模块中对异常数据进行定位,修复命令用于对所定位到的异常数据进行修复;
13、发布模块,用于在服务器上发布命令对,该命令对用于终端在下载后执行,以对功能模块进行修复。
14、在一些实施例中,该待修复功能模块包括:
15、待修复sdk、待修复数据库、发生系统故障的功能单元以及应用程序。
16、在一些实施例中,生成模块用于:
17、基于偏移量,定位到待修复功能模块中的异常数据;
18、响应于对异常数据的修改操作,获取修复数据;
19、基于异常数据与修复数据生成修复命令,基于偏移量生成跳转命令。
20、在一些实施例中,装置还包括:
21、条件获取模块,用于基于修复命令,获取命令对的执行条件;
22、发布模块,还用于在服务器上发布命令对的执行条件,该执行条件用于终端在符合执行条件的情况下执行命令对。
23、在一些实施例中,条件获取模块用于:
24、从预设的修复命令和执行条件之间的对应关系中,获取修复命令对应的执行条件;
25、其中,执行条件包括:机型、系统版本以及待修复功能模块的版本中至少一项。
26、另一方面,提供了一种功能模块修复装置,该装置包括:
27、下载模块,用于从服务器下载待修复功能模块的命令对,该命令对包括跳转命令和修复命令,跳转命令用于指示在内存所加载的功能模块中对异常数据进行定位,修复命令用于对所定位到的异常数据进行修复;
28、解析模块,用于解析命令对中的跳转命令和修复命令;
29、定位模块,用于基于解析后的跳转命令,在内存中定位异常数据;
30、修复模块,用于基于解析后的修复命令,对异常数据执行修复操作。
31、在一些实施例中,该待修复功能模块包括:
32、待修复sdk、待修复数据库、发生系统故障的功能单元以及应用程序。
33、在一些实施例中,定位模块包括:
34、寻址单元,用于基于解析后的跳转命令中携带的偏移量,在内存中寻址,得到目标地址,目标地址为异常数据对应的内存地址。
35、在一些实施例中,寻址单元用于:
36、若偏移量为全局变量在数据段上的偏移量,则获取该全局变量在数据段的起始地址,结合偏移量,得到目标地址;
37、若偏移量为动态变量在堆上的偏移量,则获取该动态变量的根地址,结合偏移量,得到目标地址,根地址为定义的动态变量的起始地址。
38、在一些实施例中,修复模块用于:
39、基于解析后的修复命令中携带的异常数据和修复数据,将异常数据更新为修复数据。
40、在一些实施例中,装置还包括:
41、心跳发送模块,用于每隔目标时间间隔向服务器发送待修复功能模块的心跳消息。
42、另一方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器用于存储至少一段计算机程序,至少一段计算机程序由处理器加载并执行以实现本申请实施例中的功能模块修复方法所执行的操作。
43、另一方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一段计算机程序,至少一段计算机程序由处理器加载并执行以实现如本申请实施例中功能模块修复方法所执行的操作。
44、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述任一方面的各种可选实现方式中提供的功能模块修复方法。
本文档来自技高网...【技术保护点】
1.一种功能模块修复方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待修复功能模块包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述偏移量,生成命令对包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述修复命令,获取所述命令对的执行条件包括:
6.一种功能模块修复方法,其特征在于,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,所述待修复功能模块包括:
8.根据权利要求7所述的方法,其特征在于,所述基于解析后的跳转命令,在内存中定位所述异常数据包括:
9.根据权利要求8所述的方法,其特征在于,所述基于所述解析后的跳转命令中携带的偏移量,在所述内存中寻址包括:
10.根据权利要求6所述的方法,其特征在于,所述基于解析后的修复命令,对所述异常数据执行修复操作包括:
11.根据权利要求6所述的方法,其特征在于,所述对所述异常数据执行修复操作之后,
12.一种功能模块修复装置,其特征在于,所述装置包括:
13.一种功能模块修复装置,其特征在于,所述装置包括:
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至11任一项权利要求所述的功能模块修复方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至11任一项权利要求所述的功能模块修复方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项权利要求所述的功能模块修复方法。
...【技术特征摘要】
1.一种功能模块修复方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待修复功能模块包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述偏移量,生成命令对包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述修复命令,获取所述命令对的执行条件包括:
6.一种功能模块修复方法,其特征在于,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,所述待修复功能模块包括:
8.根据权利要求7所述的方法,其特征在于,所述基于解析后的跳转命令,在内存中定位所述异常数据包括:
9.根据权利要求8所述的方法,其特征在于,所述基于所述解析后的跳转命令中携带的偏移量,在所述内存中寻址包括:
10.根据权利要求6所述的方法,其特征在于,所述基于解析后...
【专利技术属性】
技术研发人员:周伟,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。