[發明專利]Android系統中Native層崩潰溯源方法、裝置、存儲介質及終端在審
| 申請號: | 201810392846.2 | 申請日: | 2018-04-27 |
| 公開(公告)號: | CN108763060A | 公開(公告)日: | 2018-11-06 |
| 發明(設計)人: | 盧雄濤 | 申請(專利權)人: | 廣州華多網絡科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京市立方律師事務所 11330 | 代理人: | 劉延喜 |
| 地址: | 511442 廣東省廣州市番*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 信號事件 崩潰 調用 應用程序 處理函數 存儲介質 調用棧 溯源 終端 應用程序進程 調用棧信息 函數獲取 函數接口 軟件維護 信息追溯 線程 預置 反射 捕獲 追溯 檢測 | ||
1.一種Android系統中Native層崩潰溯源方法,其特征在于,包括:
捕獲應用程序出現的在Native層崩潰的信號事件;檢測所述信號事件是否已被所述應用程序注冊;
若所述信號事件已被所述應用程序注冊,調用應用程序進程預置的該信號事件對應的處理函數,執行所述處理函數:在Native層中調用Java層的函數接口,獲取接收到所述信號事件的線程的JNIEnv變量;通過所述JNIEnv變量調用FindClass函數獲取各個Java類;反射調用getStackTrace函數,獲取所述各個Java類的調用棧信息,得到整個Java層調用棧的全部信息;
根據所述整個Java層調用棧的全部信息追溯Native層崩潰產生的原因。
2.根據權利要求1所述的方法,其特征在于,所述信號事件包括SIGSEGV、SIGABRT、SIGFPE、SIGILL、SIGBUS、SIGSTKFLT,所述應用程序通過調用Sigaction函數對所述信號事件進行注冊。
3.根據權利要求2所述的方法,其特征在于,所述檢測所述信號事件是否已被所述應用程序注冊之后,還包括:
若所述信號事件沒有被所述應用程序注冊,對該信號事件的處理保留系統的默認值或忽略該信號事件。
4.根據權利要求1所述的方法,其特征在于,所述在Native層中調用Java層的函數接口獲取接收到所述信號事件的線程的JNIEnv變量,包括:
在Native層中調用AttachCurrentThread函數獲取接收到所述信號事件的當前線程的JNIEnv變量。
5.根據權利要求1所述的方法,其特征在于,所述獲取整個Java層調用棧的全部信息之后,還包括:
將所述應用程序出現的在Native層崩潰的信號事件及所述整個Java層調用棧的全部信息生成dump文件后上報到服務器。
6.一種Android系統中Native層崩潰溯源裝置,其特征在于,包括:
捕獲模塊:用于捕獲應用程序出現的在Native層崩潰的信號事件,檢測所述信號事件是否已被所述應用程序注冊;
獲取模塊:用于若所述信號事件已被所述應用程序注冊,調用應用程序進程預置的該信號事件對應的處理函數,執行所述處理函數:在Native層中調用Java層的函數接口,獲取接收到所述信號事件的線程的JNIEnv變量;通過所述JNIEnv變量調用FindClass函數獲取各個Java類;反射調用getStackTrace函數,獲取所述各個Java類的調用棧信息,得到整個Java層調用棧的全部信息;
分析模塊:用于根據所述整個Java層調用棧的全部信息追溯Native層崩潰產生的原因。
7.根據權利要求6所述的裝置,其特征在于,所述信號事件包括SIGSEGV、SIGABRT、SIGFPE、SIGILL、SIGBUS、SIGSTKFLT,所述應用程序通過調用Sigaction函數對所述信號事件進行注冊。
8.根據權利要求6所述的裝置,其特征在于,所述獲取模塊執行在Native層中調用Java層的函數接口獲取接收到所述信號事件的線程的JNIEnv變量,包括:
在Native層中調用AttachCurrentThread函數獲取接收到所述信號事件的當前線程的JNIEnv變量。
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,該程序被處理器執行時實現權利要求1至5任一項所述的Android系統中Native層崩潰溯源方法。
10.一種終端,其特征在于,包括:
一個或多個處理器;
存儲器;
一個或多個計算機程序,其中所述一個或多個計算機程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執行,所述一個或多個計算機程序配置用于執行根據權利要求1至5任一項所述的Android系統中Native層崩潰溯源方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州華多網絡科技有限公司,未經廣州華多網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810392846.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種異常檢測方法、裝置及設備
- 下一篇:一種計算機軟件產品品質管制管理系統





