[发明专利]程序修复方法和装置有效
申请号: | 201910695631.2 | 申请日: | 2019-07-30 |
公开(公告)号: | CN110399246B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 阮凤立;刘畅;袁义龙;刘定俊;卞光宇 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/14 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张所明 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 修复 方法 装置 | ||
本申请公开了一种程序修复方法和装置,属于计算机技术领域。所述方法包括:每当运行的程序的软件开发工具包中目标组件引起程序崩溃时,将目标组件的版本信息记录在崩溃文件中;程序再次运行时,检测加载路径中的目标组件的版本是否为崩溃文件中记录的版本;当加载路径中的目标组件的版本为崩溃文件中记录的版本时,以指定路径中的历史版本的目标组件替换加载路径中的目标组件;加载加载路径中替换后的目标组件。本申请通过有针对性的对程序中引起崩溃的组件进行了热更新,而无需更新整个程序,解决了相关技术中程序修复方法较为复杂,修复效率较低的问题。达到了提高程序修复的效率的效果。
技术领域
本申请涉及计算机技术领域,特别涉及一种程序修复方法和装置。
背景技术
终端中的程序在运行的过程中可能由于各种原因发生崩溃,在程序发生崩溃时,通常需要对程序进行修复。
相关技术中的一种程序修复方法中,通常是在程序运行崩溃后,由工作人员对整个程序进行修复,得到更新版本的程序。之后将更新版本的程序发送至终端进行程序版本的更新。
在实现本申请的过程中,申请人发现相关技术至少存在以下问题:上述程序修复方法较为复杂,修复效率较低。
发明内容
本申请实施例提供了一种程序修复方法和装置。所述技术方案如下:
根据本申请的第一方面,提供了一种程序修复方法,所述方法包括:
每当运行的程序的软件开发工具包中目标组件引起所述程序崩溃时,将所述目标组件的版本信息记录在崩溃文件中;
所述程序再次运行时,检测加载路径中的目标组件的版本是否为所述崩溃文件中记录的版本;
当所述加载路径中的目标组件的版本为所述崩溃文件中记录的版本时,以指定路径中的历史版本的目标组件替换所述加载路径中的目标组件;
加载所述加载路径中替换后的目标组件。
可选地,所述每当运行的程序中的目标组件引起所述程序的崩溃时,记录所述目标组件的崩溃版本的信息之后,所述方法还包括:
向服务器发送所述目标组件引起所述程序崩溃时的崩溃日志;
接收所述服务器根据所述崩溃日志反馈的更新版本的目标组件;
以所述更新版本的目标组件替换所述加载路径中的目标组件。
可选地,所述指定路径包括资源路径和备份路径中的任意一个,所述加载所述加载路径中替换后目标组件之后,所述方法还包括:
当加载所述加载路径的目标组件后,所述程序运行时长到达时长阈值且与所述备份路径中的目标组件的版本不一致时,将所述加载路径的目标组件存储在备份路径中;
所述当所述加载路径中的目标组件的版本为所述崩溃文件中记录的版本时,以指定路径中的历史版本的目标组件替换所述加载路径中的目标组件,包括:
检测所述备份路径中的目标组件的版本是否为所述崩溃文件中记录的版本;
当所述备份路径中的目标组件的版本不是所述崩溃文件中记录的版本时,以所述备份路径中的目标组件替换所述加载路径中的目标组件;
当所述备份路径中的目标组件的版本是所述崩溃文件中记录的版本时,检测资源路径中的目标组件的版本是否是所述崩溃文件中记录的版本;
当所述资源路径中的目标组件的版本不是所述崩溃文件中记录的版本时,以所述资源路径中的目标组件替换所述加载路径中的目标组件。
可选地,所述当所述加载路径中的目标组件的版本为所述崩溃文件中记录的版本时,以指定路径中的历史版本的目标组件替换所述加载路径中的目标组件,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910695631.2/2.html,转载请声明来源钻瓜专利网。