[發明專利]基于內存池的內存錯誤調試方法和裝置在審
| 申請號: | 201810829432.1 | 申請日: | 2018-07-25 |
| 公開(公告)號: | CN109086205A | 公開(公告)日: | 2018-12-25 |
| 發明(設計)人: | 邸忠輝 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/50 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 內存管理信息 內存池 方法和裝置 錯誤調試 獲取目標 目標內存 調試 引用 內存管理結構 內存池管理 動態申請 釋放 更新 記錄 申請 發現 | ||
1.一種基于內存池的內存錯誤調試方法,其特征在于,內存池管理動態申請的內存,所述內存池包括至少一個內存空閑鏈表,每個內存空閑鏈表中包括至少一個鏈表節點,每個鏈表節點對應的內存由一個內存管理結構記錄內存管理信息,所述方法包括:
獲取目標內存的內存管理信息,所述內存管理信息中至少包括內存分配、內存引用和內存釋放的相關信息;
若根據所述內存管理信息確定所述目標內存出現內存錯誤,則對所述內存錯誤進行調試;
若根據所述內存管理信息確定所述目標內存未出現內存錯誤,則更新所述內存管理信息,將更新后的內存管理信息記錄在所述目標內存對應的內存管理結構中,以便后續利用所述更新后的內存管理信息執行所述獲取目標內存的內存管理信息的步驟。
2.根據權利要求1所述的方法,其特征在于,在所述獲取目標內存的內存管理信息之前,所述方法還包括:
獲取內存分配請求,所述內存分配請求中包括內存大小信息;
根據所述內存分配請求確定內存池中對應的內存空閑鏈表;
取下所述內存空閑鏈表中的一個節點,將所述節點插入到已分配的內存鏈表中;
初始化所述節點的內存管理信息及內存的校驗值。
3.根據權利要求1所述的方法,其特征在于,若所述內存管理信息中包括內存引用的相關信息,所述目標內存具有校驗值,在引用目標內存時,所述若根據所述內存管理信息確定所述目標內存出現內存錯誤,則對所述內存錯誤進行調試,包括:
根據所述內存管理信息確定所述目標內存是否已被釋放;
若是,則觸發程序崩潰;
若否,則根據所述目標內存的校驗值確定是否存在緩沖區溢出;
若存在,則觸發程序崩潰。
4.根據權利要求1所述的方法,其特征在于,若所述內存管理信息中包括內存引用的相關信息和內存釋放的相關信息,所述目標內存具有校驗值,在釋放目標內存時,所述若根據所述內存管理信息確定所述目標內存出現內存錯誤,則對所述內存錯誤進行調試,包括:
根據所述內存管理信息確定目標內存是否已被釋放;
若是,則觸發程序崩潰;
若否,則根據所述目標內存的校驗值確定是否存在緩沖區溢出;
若存在,則觸發程序崩潰。
5.根據權利要求4所述的方法,其特征在于,若所述引用的相關信息包括內存引用計數,根據所述目標內存的校驗值確定不存在緩沖區溢出,所述更新所述內存管理信息,包括:
減少所述內存引用計數。
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:
判斷所述內存引用計數是否為零;
若是,則將所述目標內存對應的節點從所述已分配內存鏈表中取下,并插入所述內存空閑鏈表。
7.根據權利要求1所述的方法,其特征在于,所述若根據所述內存管理信息確定所述目標內存出現內存錯誤,則對所述內存錯誤進行調試,包括:
掃描所述已分配內存鏈表,查看目標內存的分配時間是否超過預設閾值;
若是,則確定所述目標內存出現內存錯誤,并根據所述目標內存對應的內存管理信息對所述內存錯誤進行調試。
8.一種基于內存池的內存錯誤調試裝置,其特征在于,內存池管理動態申請的內存,所述內存池包括至少一個內存空閑鏈表,每個內存空閑鏈表中包括至少一個鏈表節點,每個鏈表節點對應的內存由一個內存管理結構記錄內存管理信息,所述裝置包括第一獲取單元、調試單元和更新單元:
所述第一獲取單元,用于獲取目標內存的內存管理信息,所述內存管理信息中至少包括內存分配、內存引用和內存釋放的相關信息;
所述調試單元,用于若根據所述內存管理信息確定所述目標內存出現內存錯誤,則對所述內存錯誤進行調試;
所述更新單元,用于若根據所述內存管理信息確定所述目標內存未出現內存錯誤,則更新所述內存管理信息,將更新后的內存管理信息記錄在所述目標內存對應的內存管理結構中,以便所述第一獲取單元利用所述更新后的內存管理信息執行所述獲取目標內存的內存管理信息的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810829432.1/1.html,轉載請聲明來源鉆瓜專利網。





