[发明专利]一种应用程序运行异常的自修复方法及装置在审
申请号: | 201710874953.4 | 申请日: | 2017-09-25 |
公开(公告)号: | CN107632901A | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 张强;周玮 | 申请(专利权)人: | 青岛海信移动通信技术股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F8/53 |
代理公司: | 青岛联智专利商标事务所有限公司37101 | 代理人: | 邵新华 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 运行 异常 修复 方法 装置 | ||
1.一种应用程序运行异常的自修复方法,所述方法应用于移动终端,其特征在于,所述方法包括:
应用程序运行异常时,获取所述应用程序的异常堆栈信息;
从所述异常堆栈信息中,解析所述应用程序产生的所述异常对应的类文件;
基于所述应用程序的可执行文件和所述类文件,确定待修复指令;
根据所述待修复指令的错误类型,对所述待修复指令进行修复。
2.根据权利要求1所述的方法,其特征在于,所述对所述待修复指令进行修复,具体包括:增加、替换或删除指令。
3.根据权利要求1述的方法,其特征在于,所述应用程序运行异常时,获取所述应用程序的异常堆栈信息,具体包括:
当所述移动终端为Android系统时,通过Application接口设置异常处理函数或者监控所述移动终端的dropbox目录,以获取所述应用程序的异常堆栈信息。
4.根据权利要求1-3任一所述的方法,其特征在于,在所述解析所述应用程序产生的所述异常对应的类文件的同时或之后,所述方法还包括:解析所述异常对应的行号。
5.根据权利要求4所述的方法,其特征在于,所述基于所述应用程序的可执行文件和所述类文件,确定待修复指令,具体包括:
对所述应用程序的可执行文件进行反编译,生成所述可执行文件对应的反编译文件;
从所述对应的反编译文件中,查找出所述类文件匹配的待修复的反编译文件;
在所述待修复的反编译文件中,通过伪代码和所述行号确定待修复指令。
6.根据权利要求1-3任一所述的方法,其特征在于,所述对所述待修复指令进行修复之后,所述方法还包括:
在所述应用程序重启时,若存在修复后的可执行文件,则加载所述修复后的可执行文件以执行相应功能。
7.根据权利要求6所述的方法,其特征在于,所述在所述应用程序重启之前,所述方法还包括:
对修复后的指令所在的反编译文件进行重新编译,生成所述修复后的指令所在的反编译文件对应的修复后的可执行文件。
8.一种应用程序运行异常的自修复装置,所述装置应用于移动终端,其特征在于,所述装置包括:
获取模块,用于应用程序运行异常时,获取所述应用程序的异常堆栈信息;
解析模块,用于从所述异常堆栈信息中,解析所述应用程序产生的所述异常对应的类文件;
确定模块,用于基于所述应用程序的可执行文件和所述类文件,确定待修复指令;
修复模块,用于根据所述待修复指令的错误类型,对所述待修复指令进行修复。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
加载模块,用于在所述应用程序重启时,若存在修复后的可执行文件,则加载所述修复后的可执行文件以执行相应功能。
10.一种移动终端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至7任一项所述的一种应用程序运行异常的自修复方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信移动通信技术股份有限公司,未经青岛海信移动通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710874953.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于红外控制的偏远地区延时路灯系统
- 下一篇:一种高空施工载具