[發(fā)明專利]一種異常捕獲方法、裝置以及終端有效
| 申請?zhí)枺?/td> | 201910361565.5 | 申請日: | 2019-04-30 |
| 公開(公告)號: | CN110175101B | 公開(公告)日: | 2023-05-26 |
| 發(fā)明(設計)人: | 付強;王慧;高學智 | 申請(專利權)人: | 北京百度網訊科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司 11204 | 代理人: | 王達佐;馬曉亞 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 異常 捕獲 方法 裝置 以及 終端 | ||
1.一種異常捕獲方法,其特征在于,應用于終端上,包括:
創(chuàng)建攔截異常的應用程序初始化入口;
在所述攔截異常的應用程序初始化入口中,創(chuàng)建線程異常的捕獲機制;
當發(fā)生線程異常時,利用所述線程異常的捕獲機制進行異常捕獲,使應用程序正常運行;
其中,所述創(chuàng)建線程異常的捕獲機制,包括:
創(chuàng)建應用程序線程異常的捕獲機制,包括:全局設置系統(tǒng)默認的捕獲全局異常程序替換成自定義的異常處理程序;當所述捕獲全局異常程序攔截到系統(tǒng)回調的異常對象時,判斷所述系統(tǒng)回調的異常對象是主線程異常還是子線程異常;若所述系統(tǒng)回調的異常對象是所述主線程異常,則在消息循環(huán)處的代碼塊中增加異常捕獲機制,得到所述應用程序線程異常的捕獲機制;
和/或,
創(chuàng)建活動組件的生命周期異常的捕獲機制,包括:控制活動組件的生命周期的系統(tǒng)對象替換為繼承該系統(tǒng)對象的自定義對象,來控制所述活動組件的生命周期的調用;在所述活動組件的生命周期的調用處的代碼塊中增加異常捕獲機制,得到所述活動組件的生命周期的捕獲機制。
2.根據權利要求1所述的方法,其特征在于,當發(fā)生線程異常時,利用所述線程異常的捕獲機制進行異常捕獲,包括:
在消息隊列輪詢過程中,執(zhí)行具有所述異常捕獲機制的代碼塊,對所述主線程異常進行捕獲。
3.根據權利要求1所述的方法,其特征在于,當發(fā)生線程異常時,利用所述線程異常的捕獲機制進行異常捕獲,包括:
若所述活動組件的生命周期發(fā)生異常,執(zhí)行具有所述異常捕獲機制的代碼塊,對所述活動組件的生命周期異常進行捕獲。
4.根據權利要求1所述的方法,其特征在于,所述應用程序正常運行之后,還包括:
利用異常回調接口將所述應用程序線程異常以及所述活動組件的生命周期異常回調給所述應用程序。
5.根據權利要求4所述的方法,其特征在于,利用異常回調接口將所述應用程序線程異常以及所述活動組件的生命周期異常回調給所述應用程序之后,還包括:
在所述應用程序中,識別異常類型,并生成用于上傳至服務器的異常日志;
根據所述應用程序線程異常判斷是否重啟所述應用程序;以及
根據所述活動組件的生命周期異常判斷是否重啟系統(tǒng)。
6.一種異常捕獲裝置,其特征在于,包括:
初始化入口創(chuàng)建模塊,用于創(chuàng)建攔截異常的應用程序初始化入口;
捕獲機制創(chuàng)建模塊,用于在所述攔截異常的應用程序初始化入口中,創(chuàng)建線程異常的捕獲機制;
異常捕獲模塊,用于當發(fā)生線程異常時,利用所述線程異常的捕獲機制進行異常捕獲,使應用程序正常運行;
其中,所述捕獲機制創(chuàng)建模塊包括:
線程異常捕獲機制創(chuàng)建單元,用于創(chuàng)建應用程序線程異常的捕獲機制;
和/或,
生命周期異常捕獲機制創(chuàng)建單元,用于創(chuàng)建活動組件的生命周期異常的捕獲機制;
所述線程異常捕獲機制創(chuàng)建單元包括:
異常處理程序替換子單元,用于全局設置系統(tǒng)默認的捕獲全局異常程序替換成自定義的異常處理程序;
線程類型判斷子單元,用于當所述捕獲全局異常程序攔截到系統(tǒng)回調的異常對象時,判斷所述系統(tǒng)回調的異常對象是主線程異常還是子線程異常;
主線程異常捕獲添加子單元,用于若所述系統(tǒng)回調的異常對象是所述主線程異常,則在消息循環(huán)處的代碼塊中增加異常捕獲機制,得到所述應用程序線程異常的捕獲機制;
所述生命周期異常捕獲機制創(chuàng)建單元包括:
系統(tǒng)對象替換子單元,用于控制活動組件的生命周期的系統(tǒng)對象替換為繼承該系統(tǒng)對象的自定義對象,來控制所述活動組件的生命周期的調用;
生命周期異常捕獲添加子單元,用于在所述活動組件的生命周期的調用處的代碼塊中增加異常捕獲機制,得到所述活動組件的生命周期的捕獲機制。
7.根據權利要求6所述的裝置,其特征在于,所述異常捕獲模塊包括:
主線程異常捕獲單元,用于在消息隊列輪詢過程中,執(zhí)行具有所述異常捕獲機制的代碼塊,對所述主線程異常進行捕獲。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京百度網訊科技有限公司,未經北京百度網訊科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910361565.5/1.html,轉載請聲明來源鉆瓜專利網。





