[发明专利]一种应用程序无响应的处理方法及装置有效
申请号: | 201410509724.9 | 申请日: | 2014-09-28 |
公开(公告)号: | CN105446806B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 梁捷;林作健 | 申请(专利权)人: | 广州市动景计算机科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 510627 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种应用程序无响应的处理方法及装置,通过建立一个新的进程,使其跟踪应用程序所在的当前进程的signal catcher线程,并在新进程中修改signal catcher线程的内存代码,以使在出现ANR时,signal catcher线程能够跳转至应用程序的开发人员预先编写的处理函数,由处理函数对ANR进行处理,从而使应用程序有机会中断耗时的线程,停止I/O操作,以及记录ANR的详细信息以对应用程序做出改进。 | ||
搜索关键词: | 一种 应用程序 响应 处理 方法 装置 | ||
【主权项】:
1.一种应用程序无响应ANR的处理方法,其特征在于,所述方法包括:设置应用程序所在的当前进程的可跟踪属性,以使所述当前进程能够被非root权限的进程跟踪;建立一个新进程,使所述新进程跟踪所述当前进程的signal catcher线程,其中,所述新进程是当前进程的子进程;在所述新进程中,修改所述当前进程的signal catcher线程的内存代码,以使所述应用程序出现ANR时,所述应用程序所在的当前进程的signal catcher线程在执行过程中跳转至预设的处理函数,由所述处理函数对ANR进行处理,其中,修改所述当前进程的signal catcher线程的内存代码包括如下步骤:保存目标地址,所述目标地址为signal catcher线程的pc寄存器的值索引的地址;将从所述目标地址开始的第一地址长度范围内的指令复制到位于所述当前进程内存中的模板函数的第一指定位置;将所述处理函数的地址写入到所述模板函数的第二指定位置;将所述模板函数的返回地址指向所述目标地址加上所述第一地址长度的地址;在所述目标地址的位置写入跳转代码,以使出现ANR时,所述signal catcher线程的代码执行至所述目标地址时跳转至所述模板函数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市动景计算机科技有限公司,未经广州市动景计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410509724.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种服务连接系统及其设计方法
- 下一篇:shell脚本子进程管理方法及系统