[發明專利]一種應用程序異常處理方法及裝置在審
| 申請號: | 201810209141.2 | 申請日: | 2018-03-14 |
| 公開(公告)號: | CN110275791A | 公開(公告)日: | 2019-09-24 |
| 發明(設計)人: | 楊紹軍 | 申請(專利權)人: | 普天信息技術有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/36 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 100080 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 異常處理 應用程序 函數調用棧 地址信息 調用函數 全局變量 預設 解碼 輸出異常 異常信號 運行異常 獲知 輸出 記錄 | ||
本發明實施例提供一種應用程序異常處理方法及裝置。所述方法包括:進入待處理應用程序的被調用函數,同時在第一預設全局變量中記錄所述被調用函數對應的第一函數調用棧地址信息;若判斷獲知所述被調用函數發生運行異常則輸出異常信號,并根據所述異常信號進行異常處理;從所述第一預設全局變量中提取所述第一函數調用棧地址信息,并對所述第一函數調用棧地址信息解碼后進行輸出。所述裝置用于執行上述方法。本發明提供的方法及裝置提高了應用程序異常處理效率。
技術領域
本發明實施例涉及計算機技術領域,尤其涉及一種應用程序異常處理方法及裝置。
背景技術
軟件的應用程序在運行過程中經常運行異常,運行異常會給應用程序的穩定運行帶來很大的麻煩,因此,對于應用程序異常處理方法的研究越來越受到人們的關注。
目前應用程序異常的情況主要分為以下三種:(1)緩沖區溢出、空指針訪問異常以及除零異常問題;(2)全局變量中的某個監控對象在某個不確定的地方被內存越界或者改寫導致的異常;(3)CPU占有率達到100%。現有技術條件下,針對緩沖區溢出、空指針訪問異常以及除零異常問題,目前常用的處理方法是通過系統生成core文件,然后通過GDB來進行跟蹤,或者是通過打印大量的trace信息,逐步進行問題跟蹤,或者利用特殊裝置實時記錄當前調用棧的寄存器信息進行監控;針對全局變量中的某個監控對象被內存越界或改寫的問題以及CPU占有率達到100%的問題則常常利用代碼進行逐步分割的方式來確定問題并進行異常處理。但是,前者依靠調用棧的寄存器信息或者依靠符號表的靜態信息,這種方法對除零異常和部分空指針訪問異常有效,但是無法解決緩沖區溢出的情況,而且要以犧牲性能為代價,同時使用硬件進行調用棧的寄存器信息,成本過高且對于除零異常和空指針訪問異常無效;而后者采用代碼進行逐步分割的方式費時費力且效果欠佳。綜上所述,現有技術中條件下的應用程序異常處理方法的效率普遍較低。
因此,提出一種方法來提高應用程序異常是目前業界亟待解決的需要課題。
發明內容
針對現有技術中的缺陷,本發明實施例提供一種應用程序異常處理方法及裝置。
一方面,本發明實施例提供一種應用程序異常處理方法,包括:
進入待處理應用程序的被調用函數,同時在第一預設全局變量中記錄所述被調用函數對應的第一函數調用棧地址信息;
若判斷獲知所述被調用函數發生運行異常則輸出異常信號,并根據所述異常信號進行異常處理;
從所述第一預設全局變量中提取所述第一函數調用棧地址信息,并對所述第一函數調用棧地址信息解碼后進行輸出。
另一方面,本發明實施例提供一種應用程序異常處理裝置,包括記錄單元、處理單元和輸出單元,其中:
記錄單元,用于進入待處理應用程序的被調用函數,同時在第一預設全局變量中記錄所述被調用函數對應的第一函數調用棧地址信息;
處理單元,用于若判斷獲知所述被調用函數發生運行異常則輸出異常信號,并根據所述異常信號進行異常處理;
輸出單元,用于從所述第一預設全局變量中提取所述第一函數調用棧地址信息,并對所述第一函數調用棧地址信息解碼后進行輸出。
又一方面,本發明實施例提供一種電子設備,包括處理器、存儲器和總線,其中:
所述處理器,所述存儲器通過總線完成相互間的通信;
所述處理器可以調用存儲器中的計算機程序,以執行上述方法的步驟。
再一方面,本發明實施例提供一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現上述方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于普天信息技術有限公司,未經普天信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810209141.2/2.html,轉載請聲明來源鉆瓜專利網。





