[發明專利]一種應用程序無響應的處理方法及裝置有效
| 申請號: | 201410509724.9 | 申請日: | 2014-09-28 |
| 公開(公告)號: | CN105446806B | 公開(公告)日: | 2019-03-15 |
| 發明(設計)人: | 梁捷;林作健 | 申請(專利權)人: | 廣州市動景計算機科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京展翼知識產權代理事務所(特殊普通合伙) 11452 | 代理人: | 屠長存 |
| 地址: | 510627 廣東省廣州市天河區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用程序 響應 處理 方法 裝置 | ||
1.一種應用程序無響應ANR的處理方法,其特征在于,所述方法包括:
設置應用程序所在的當前進程的可跟蹤屬性,以使所述當前進程能夠被非root權限的進程跟蹤;
建立一個新進程,使所述新進程跟蹤所述當前進程的signal catcher線程,其中,所述新進程是當前進程的子進程;
在所述新進程中,修改所述當前進程的signal catcher線程的內存代碼,以使所述應用程序出現ANR時,所述應用程序所在的當前進程的signal catcher線程在執行過程中跳轉至預設的處理函數,由所述處理函數對ANR進行處理,
其中,修改所述當前進程的signal catcher線程的內存代碼包括如下步驟:
保存目標地址,所述目標地址為signal catcher線程的pc寄存器的值索引的地址;
將從所述目標地址開始的第一地址長度范圍內的指令復制到位于所述當前進程內存中的模板函數的第一指定位置;
將所述處理函數的地址寫入到所述模板函數的第二指定位置;
將所述模板函數的返回地址指向所述目標地址加上所述第一地址長度的地址;
在所述目標地址的位置寫入跳轉代碼,以使出現ANR時,所述signal catcher線程的代碼執行至所述目標地址時跳轉至所述模板函數。
2.根據權利要求1所述的方法,其特征在于,使所述新進程跟蹤所述當前進程包括:
查找所述當前進程的signal catcher線程ID;
根據所述signal catcher線程ID跟蹤所述當前進程的signal catcher線程。
3.根據權利要求2所述的方法,其特征在于,還包括:
判斷所述signal catcher線程是否處于非喚醒狀態;
當所述signal catcher線程處于非喚醒狀態時,執行所述修改所述當前進程的signalcatcher線程的內存代碼的步驟。
4.根據權利要求3所述的方法,其特征在于,判斷所述signal catcher線程是否處于非喚醒狀態之前,還包括:
等待所述signal catcher線程被暫停。
5.一種應用程序無響應的處理裝置,其特征在于,所述裝置包括:
設置單元,用于設置應用程序所在的當前進程的可跟蹤屬性,以使所述當前進程能夠被非root權限的進程跟蹤;
跟蹤單元,用于建立一個新進程,使所述新進程跟蹤所述當前進程的signal catcher線程,其中,所述新進程是當前進程的子進程;
修改單元,用于在所述新進程中,修改所述當前進程的signal catcher線程的內存代碼,以使所述應用程序出現ANR時,所述應用程序所在的當前進程的signal catcher線程在執行過程中跳轉至預設的處理函數,由所述處理函數對ANR進行處理,
其中,所述修改單元包括:
保存子單元,用于保存目標地址,所述目標地址為signal catcher線程的pc寄存器的值索引的地址;
復制子單元,用于將所述目標地址開始的第一地址長度范圍內的指令復制到位于所述當前進程內存中的模板函數的第一指定位置;
第一寫入子單元,用于將處理函數的地址寫入到所述模板函數的第二指定位置;
返回地址子單元,用于將所述模板函數的返回地址指向所述目標地址加上所述第一地址長度的地址;
第二寫入子單元,用于在所述目標地址的位置寫入跳轉代碼,以使出現ANR時,所述signal catcher線程的代碼執行至所述目標地址時跳轉至所述模板函數。
6.根據權利要求5所述的裝置,其特征在于,所述跟蹤單元包括:
查找子單元,用于查找所述當前進程的signal catcher線程ID;
跟蹤子單元,用于根據所述查找子單元查找的所述signal catcher線程ID跟蹤所述當前進程的signal catcher線程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州市動景計算機科技有限公司,未經廣州市動景計算機科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410509724.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種服務連接系統及其設計方法
- 下一篇:shell腳本子進程管理方法及系統





