[發明專利]死循環的定位方法、裝置、計算機設備和存儲介質有效
| 申請號: | 201811612920.3 | 申請日: | 2018-12-27 |
| 公開(公告)號: | CN109766273B | 公開(公告)日: | 2022-09-27 |
| 發明(設計)人: | 董時舫 | 申請(專利權)人: | 百富計算機技術(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/48 |
| 代理公司: | 華進聯合專利商標代理有限公司 44224 | 代理人: | 方高明 |
| 地址: | 518051 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 循環 定位 方法 裝置 計算機 設備 存儲 介質 | ||
本申請涉及一種死循環的定位方法、裝置、計算機設備和存儲介質。方法包括:當檢測到外部中斷服務程序出現死循環時,觸發快速中斷服務程序中斷外部中斷服務程序,獲取通過觸發快速中斷服務程序中斷外部中斷服務程序時所產生的中斷結果,獲取觸發快速中斷服務程序中斷外部中斷服務程序的觸發次數,當觸發次數小于預設觸發次數時,再次觸發快速中斷服務程序中斷外部中斷服務程序,生成與中斷結果對應的中斷信息,并生成與中斷信息對應的反匯編代碼,根據中斷信息對應的斷點地址以及反匯編代碼定位外部中斷服務程序的死循環位置。通過觸發快速中斷服務程序來對出現死循環的外部中斷服務程序進行中斷,并根據反匯編代碼對死循環進行定位,可以提高死循環的定位效率。
技術領域
本申請涉及計算機技術領域,特別是涉及一種死循環的定位方法、裝置、計算機設備和存儲介質。
背景技術
當計算機中的處理器正在處理內部數據時,外界出現了緊急事件,計算機會要求處理器暫停當前的工作去處理緊急事件,處理完畢后,處理器可以再回到原來被中斷的地址,繼續原來的工作,這樣的過程稱為中斷。計算機在使用中斷服務程序進行中斷時,可以使用外部中斷服務程序進行常規中斷事務處理,外部中斷服務程序可以同時支持多種中斷源,且外部中斷服務程序的運行優先級高于非中斷程序,當外部中斷服務程序被觸發時即開始運行相應的服務程序。外部中斷服務程序進行中斷時,有可能會陷入死循環,導致中斷過程異常,將完全或幾乎完全地占用CPU的運行時間,往往需要定位到死循環發生的位置,才能使中斷過程恢復正常。在傳統的方法中,可以通過硬件調試工具對死循環進行定位,例如,可以采用JTAG硬件調試工具對死循環進行定位,這種死循環的定位方式需要CPU要具備JTAG接口。還可以在中斷服務程序的中斷斷點位插入調試信息輸出語句來實現對死循環的定位。
然而,目前對死循環的定位方法非常繁瑣,導致死循環的定位效率較低。
發明內容
基于此,有必要針對上述技術問題,提供一種死循環的定位方法、裝置、計算機設備和存儲介質,可以提高死循環的定位效率。
一種死循環的定位方法,所述方法包括:
當檢測到外部中斷服務程序出現死循環時,觸發快速中斷服務程序中斷所述外部中斷服務程序;
獲取通過觸發快速中斷服務程序中斷所述外部中斷服務程序時所產生的中斷結果;
獲取觸發所述快速中斷服務程序中斷所述外部中斷服務程序的觸發次數;
當所述觸發次數小于預設觸發次數時,執行所述觸發快速中斷服務程序中斷所述外部中斷服務程序的步驟;獲取每次產生的中斷結果,并根據獲取的中斷結果生成中斷信息;
根據所述中斷信息生成反匯編代碼;
獲取與所述中斷信息對應的的斷點地址,根據所述斷點地址以及所述反匯編代碼定位所述外部中斷服務程序的死循環位置。
在其中一個實施例中,所述方法還包括:
遍歷中斷源;
從所述中斷源中確定符合預設條件的目標中斷源;
所述當檢測到外部中斷服務程序出現死循環時,觸發快速中斷服務程序中斷所述外部中斷服務程序,包括:
當檢測到外部中斷服務程序出現死循環時,通過所述目標中斷源觸發快速中斷服務程序中斷所述外部中斷服務程序。
在其中一個實施例中,所述方法還包括:
獲取與所述目標中斷源對應的中斷源程序,并將所述中斷源程序寫入所述快速中斷服務程序;
提取所述中斷源程序中的中斷處理子程序;
所述通過所述目標中斷源觸發快速中斷服務程序中斷所述外部中斷服務程序,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百富計算機技術(深圳)有限公司,未經百富計算機技術(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811612920.3/2.html,轉載請聲明來源鉆瓜專利網。





