[發明專利]一種內核態程序的斷點處理方法及裝置在審
| 申請號: | 201911141042.6 | 申請日: | 2019-11-20 |
| 公開(公告)號: | CN110955598A | 公開(公告)日: | 2020-04-03 |
| 發明(設計)人: | 曲博 | 申請(專利權)人: | 杭州迪普科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 王茹 |
| 地址: | 310051 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內核 程序 斷點 處理 方法 裝置 | ||
1.一種內核態程序的斷點處理方法,其特征在于,應用于運行Linux操作系統的電子設備,所述方法包括:
運行內核態程序,所述內核態程序中位于第一地址的第一指令被替換為第一斷點觸發指令,所述第一地址和所述第一指令被關聯記錄于斷點表的斷點表項中;
在所述內核態程序執行到所述第一斷點觸發指令的情況下,從所述斷點表項中提取所述第一指令;
將所述內核態程序中的所述第一斷點觸發指令恢復為所述第一指令;
根據用戶發出的后續操作信號,刪除所述斷點表項或從所述第一指令處繼續執行所述內核態程序。
2.根據權利要求1所述的方法,其特征在于,
還包括:在所述內核態程序中位于第一地址的第一指令被替換為第一斷點觸發指令后,注冊匹配于所述第一斷點觸發指令的第一回調函數;
所述從所述斷點表項中提取所述第一指令,包括:通過調用所述第一回調函數,在所述斷點表中查詢匹配于所述第一斷點觸發指令的斷點表項,并從所述斷點表項中提取所述第一指令。
3.根據權利要求1所述的方法,其特征在于,在所述內核態程序執行到所述第一斷點觸發指令的情況下,查詢所述匹配于所述第一斷點觸發指令的斷點表項以供提取所述第一指令,包括:
提取CPU異常對應的異常地址,所述CPU異常在所述第一斷點觸發指令被執行到時由所述第一斷點觸發指令所觸發;在所述斷點表中查詢匹配于所述異常地址的斷點表項;
或者,從所述第一斷點觸發指令中提取其攜帶的索引號;在所述斷點表中查詢匹配于所述索引號的斷點表項。
4.根據權利要求1所述的方法,其特征在于,用戶發出的所述后續操作信號為繼續執行信號,從所述第一指令處繼續執行所述內核態程序,包括:
通過所述第一指令獲取第二指令,所述第二指令是基于指令執行邏輯順序確定出的所述第一指令的下一條指令;
將所述第二指令和所述第二指令所處的第二地址保存在所述斷點表項中;
將所述第二指令替換為第二斷點觸發指令;其中,在程序執行到所述第二斷點觸發指令的情況下,所述第二斷點觸發指令用于觸發CPU異常。
5.根據權利要求4所述的方法,其特征在于,所述通過所述第一指令獲取第二指令,包括:
解析所述第一指令得到第二地址;
讀取位于所述第二地址的第二指令。
6.根據權利要求4所述的方法,其特征在于,還包括:
在所述第二指令被替換為第二斷點觸發指令后,注冊匹配于所述第二斷點觸發指令的第二回調函數;
在CPU異常的情況下,通過調用所述第二回調函數,從匹配于所述第二斷點觸發指令的斷點表項中提取所述第二指令,并刪除所述斷點表項中的所述第二地址和所述第二指令。
7.根據權利要求6所述的方法,其特征在于,在CPU異常的情況下,查詢匹配于所述第二斷斷點觸發指令的斷點表項以提取所述第二指令,包括:
提取CPU異常對應的異常地址;在所述斷點表中查詢匹配于所述異常地址的斷點表項;
或者,從所述第二斷點觸發指令中提取其攜帶的索引號;在所述斷點表中查詢匹配于所述索引號的斷點表項。
8.一種內核態程序的斷點設置方法,其特征在于,應用于運行Linux操作系統的電子設備,所述方法包括:
在內核態程序運行狀態下,讀取接收的斷點設置信號所對應第一地址處的第一指令;
將所述第一地址和所述第一指令關聯記錄于斷點表的斷點表項中;
將所述第一指令替換為第一斷點觸發指令,以在內核態程序執行到所述第一斷點觸發指令的情況下,由所述第一斷點觸發指令觸發CPU異常,并基于所述斷點表項將所述第一斷點觸發指令恢復為所述第一指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州迪普科技股份有限公司,未經杭州迪普科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911141042.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種柴油機排氣顆粒物取樣封存系統及方法
- 下一篇:一種園林花圃修剪裝置





