[發明專利]確定崩潰歸屬的方法、裝置、電子設備及存儲介質在審
| 申請號: | 202010218782.1 | 申請日: | 2020-03-25 |
| 公開(公告)號: | CN111090593A | 公開(公告)日: | 2020-05-01 |
| 發明(設計)人: | 程展斌 | 申請(專利權)人: | 同盾控股有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 杭州創智卓英知識產權代理事務所(普通合伙) 33324 | 代理人: | 張迪 |
| 地址: | 311121 浙江省杭州市余*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 確定 崩潰 歸屬 方法 裝置 電子設備 存儲 介質 | ||
本發明公開了一種確定崩潰歸屬的方法,涉及計算機技術領域,包括以下步驟:獲取崩潰信息;解析崩潰信息,得到調用地址;獲取SDK編譯文件,基于SDK編譯文件,計算得到SDK運行地址區間;判斷調用地址是否在SDK運行地址區間內,若是,則保存崩潰信息,并上傳崩潰信息到遠程服務器。該方法通過分析判斷崩潰信息對應的調用地址是否落在SDK運行地址區間內,能夠快速準確地確定崩潰所在的SDK,減少SDK崩潰的排查時間和工作量,提升分析SDK崩潰的效率,降低開發成本;及時上報SDK崩潰,有利于加快SDK開發者處理崩潰的速度,進而及時優化改進SDK,從而提高SDK的穩定性。本發明還公開了一種確定崩潰歸屬的裝置、電子設備和計算機存儲介質。
技術領域
本發明涉及計算機技術領域,尤其涉及一種確定崩潰歸屬的方法、裝置、電子設備及存儲介質。
背景技術
伴隨移動平臺SDK開發的熱潮,及時發現應用程序中SDK引發的線上崩潰一直是一個熱門的話題。iOS操作系統中,SDK分為靜態庫和動態庫(Embedded Framework)兩種。動態庫與應用程序所屬不同的二進制模塊,因此在調用SDK中方法發生崩潰時,會在其崩潰棧的信息中顯示出動態庫SDK的名稱,通過比較SDK名稱,就可以確定是否是當前SDK引發的崩潰。
而靜態庫與應用程序所屬同一個二進制模塊,其代碼會被加入到應用程序的代碼段中。當應用發生崩潰,調用SDK中的方法發生崩潰時,崩潰棧中顯示的名字將是應用程序的可執行文件名,這與應用程序中的代碼引發的崩潰是相同的,導致SDK開發者無法區別,SDK開發者也就無法對SDK進行優化改進。
目前大多通過采用靜態庫崩潰全捕獲,把應用程序引發的崩潰也收集上來,對相關信息進行篩選和分析,從而確定崩潰所在的SDK,這種方法大大增加了排查SDK崩潰的工作量和所需時間,無法快速對崩潰進行定位,SDK開發者無法及時優化改進SDK。
發明內容
為了克服現有技術的不足,本發明的目的之一在于提供一種確定崩潰歸屬的方法,其通過解析崩潰信息得到的調用地址,與SDK運行地址區間進行比對判斷,迅速定位崩潰所在SDK,并及時上報崩潰信息,以便SDK開發者進行優化改進。
本發明的目的之一采用以下技術方案實現:
獲取崩潰信息;
解析所述崩潰信息,得到調用地址;
獲取SDK編譯文件,基于所述SDK編譯文件,計算得到SDK運行地址區間;
判斷所述調用地址是否在所述SDK運行地址區間內,若是,則保存所述崩潰信息,并上傳所述崩潰信息到遠程服務器。
進一步地,獲取崩潰信息,包括:通過注冊崩潰捕獲函數,捕獲異常信息和設備信息,并記錄崩潰調用棧。
進一步地,所述崩潰信息包括崩潰棧、崩潰發生時間、設備版本、設備型號、CPU架構、網絡狀態、崩潰類型、崩潰原因。
進一步地,基于所述SDK編譯文件,計算得到SDK運行地址區間,包括:
解析所述SDK編譯文件,得到SDK運行地址區間起始函數的地址偏移;
獲取所述SDK運行地址區間的起始地址和結束地址;
根據所述起始地址、所述地址偏移和所述結束地址,得到所述SDK運行地址區間。
進一步地,解析所述SDK編譯文件,包括:通過反匯編軟件分析所述SDK編譯文件,得到所述SDK運行地址區間起始函數在不同架構下的地址偏移。
進一步地,所述SDK編譯文件包括第一個編譯文件和最后一個編譯文件,獲取所述SDK運行地址區間的起始地址和結束地址,包括:
調用所述第一個編譯文件中的獲取地址函數,得到所述起始地址;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于同盾控股有限公司,未經同盾控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010218782.1/2.html,轉載請聲明來源鉆瓜專利網。





