[發明專利]一種崩潰日志處理方法、裝置、電子設備及存儲介質有效
| 申請號: | 202010153665.1 | 申請日: | 2020-03-06 |
| 公開(公告)號: | CN111381992B | 公開(公告)日: | 2022-07-08 |
| 發明(設計)人: | 鄧竹立;彭飛 | 申請(專利權)人: | 北京五八信息技術有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀區學清*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 崩潰 日志 處理 方法 裝置 電子設備 存儲 介質 | ||
本發明提供了一種崩潰日志處理方法、裝置、電子設備及存儲介質。所述方法,包括:獲取崩潰日志文件對應的可執行文件中所有的類的地址;根據每個所述類的地址,獲取每個所述類的每個函數的地址范圍;針對所述崩潰日志文件中的任意一條崩潰日志,響應于所述崩潰日志對應的崩潰地址位于任一函數的地址范圍內,確認所述函數發生崩潰。通過對可行性文件的掃描及匯編指令的對比,查找崩潰地址所屬函數地址區間,確認崩潰函數,從而將崩潰地址轉成函數符號,將日志符號化。取得了在符號表缺失的情況下依舊能將崩潰日志符號化,減少程序監測的盲區,提高崩潰日志符號化的可行性和適應性的有益效果。
技術領域
本發明涉及計算機技術領域,尤其涉及一種崩潰日志處理方法、裝置、電子設備及存儲介質。
背景技術
應用程序客戶端崩潰是應用程序運行過程中出現的最為嚴重的問題,會導致服務突然中斷,用戶體驗受損嚴重。因此,對于應用程序客戶端崩潰的監測和分析就顯得十分重要。但是,系統上報的崩潰日志是一種符號地址信息,而用戶希望看到的是符號化的可視化語句,通過符號化的可視化語句,用戶可以明確地知道具體是哪個函數的哪一行出了問題,且如果整個符號地址調用棧都被符號化為這樣的可視化語句,那么調用棧看起來會非常的明確并且代碼調用邏輯清晰,從而對定位崩潰原因和修復都有很大的幫助。
在相關技術中,一般通過符號表,將地址和函數符號進行映射。當發生崩潰時通過命令查詢崩潰地址對應的符號,從而實現符號化。但是,該方法依賴符號表,如果開發者沒有保留符號表,那么則無法進行日志符號化。
發明內容
本發明實施例提供一種崩潰日志處理方法、裝置、電子設備及存儲介質,以解決現有的崩潰日志處理方式過于依賴符號表,導致符號化過程受限的問題。
為了解決上述技術問題,本發明是這樣實現的:
第一方面,本發明實施例提供了一種崩潰日志處理方法,包括:
獲取崩潰日志文件對應的可執行文件中所有的類的地址;
根據每個所述類的地址,獲取每個所述類的每個函數的地址范圍;
針對所述崩潰日志文件中的任意一條崩潰日志,響應于所述崩潰日志對應的崩潰地址位于任一函數的地址范圍內,確認所述函數發生崩潰。
可選地,所述根據每個所述類的地址,獲取每個所述類的每個函數的地址范圍的步驟,包括:
針對任意一個所述類,根據所述類的地址,從所述可執行文件中獲取所述類的第一結構體,所述第一結構體中包含與每個所述函數的地址范圍相關的第二結構體的地址;
根據所述第一結構體中包含的第二結構體的地址,獲取所述類的第二結構體;
根據所述第二結構體,獲取所述類的函數的地址范圍。
可選地,所述根據所述第二結構體,獲取所述類的函數的地址范圍的步驟,包括:
根據所述第二結構體,獲取所述類的函數列表起始地址;
根據所述函數列表起始地址,所述類的函數列表中包含的每個結構體的字節長度,獲取所述類的每個函數的地址范圍。
可選地,所述根據所述函數列表起始地址,所述類的函數列表中包含的每個結構體的字節長度,獲取所述類的每個函數的地址范圍的步驟,包括:
根據所述函數列表起始地址,獲取所述類的函數列表;
根據所述函數列表中每個結構體的字節長度,獲取所述類的每個函數的起始地址;
針對每個所述函數,從所述函數的起始地址開始讀取數據,直至遇到所述函數的結束指令,以獲取所述函數的結束地址;
針對每個所述函數,根據所述函數的起始地址和結束地址,確定所述函數的地址范圍。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京五八信息技術有限公司,未經北京五八信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010153665.1/2.html,轉載請聲明來源鉆瓜專利網。





