[發明專利]內存泄漏點的定位方法、裝置、系統及可讀存儲介質在審
| 申請號: | 201710823200.0 | 申請日: | 2017-09-13 |
| 公開(公告)號: | CN107608885A | 公開(公告)日: | 2018-01-19 |
| 發明(設計)人: | 安祥文 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 泄漏 定位 方法 裝置 系統 可讀 存儲 介質 | ||
技術領域
本發明涉及電子技術領域,特別涉及一種內存泄漏點的定位方法、裝置、系統及一種計算機可讀存儲介質。
背景技術
內存泄漏是指程序中己動態分配的堆內存由于某種原因程序未釋放或無法釋放,造成系統內存的浪費,導致程序運行速度減慢甚至系統崩潰等嚴重后果。
在軟件開發過程中,內核泄漏是常見的問題,它直接影響軟件系統的長期穩定運行。然而在開發和調試過程中如何有效的定位內存泄漏的地方,卻是一個麻煩的過程。
因此,如何有效定位內存泄露點,是本領域技術人員需要解決的技術問題。
發明內容
本發明的目的是提供一種內存泄漏點的定位方法,該方法能夠有效定位內存泄露點;本發明的另一目的是提供一種內存泄漏點的定位裝置、系統及一種計算機可讀存儲介質,具有上述有益效果。
為解決上述技術問題,本發明提供一種內存泄漏點的定位方法,包括:
對調用內存分配器分配的內存的地址堆棧信息進行記錄,將記錄的所述內存的地址堆棧信息放入內存占用鏈表中;
通過所述內存占用鏈表獲取所述內存的地址堆棧信息;
將所述地址堆棧信息與進程調用的動態庫的基地址堆棧信息和尾地址堆棧信息進行比較,確定所述地址堆棧信息歸屬的動態庫;
根據所述地址堆棧信息歸屬的動態庫的基地址堆棧信息確定所述地址堆棧信息對應的具體位置信息。
其中,所述對調用內存分配器分配的內存的地址堆棧信息進行記錄,將記錄的所述內存的地址堆棧信息放入內存占用鏈表中包括:
分配一個空閑塊列表;
當調用內存分配器分配內存時,將分配的內存的地址堆棧信息賦值給所述空閑塊列表的節點,將所述節點插入到所述內存占用鏈表中,并將所述節點從所述空閑塊列表中移除;
當所述內存釋放時,將所述內存對應的節點從所述內存占用鏈表中取出,并將所述節點歸還至所述空閑塊列表中。
其中,所述將所述節點插入到所述內存占用鏈表中包括:
將所述節點中存放的所述內存地址堆棧信息按照預定的算法映射成短數據;
將存放有所述短數據的所述節點插入到所述內存占用鏈表中。
其中,所述進程調用的動態庫的基地址堆棧信息和尾地址堆棧信息的調用方法包括:
獲取進程所調用的動態庫的映射關系,得到所述動態庫的基地址堆棧信息和尾地址堆棧信息。
其中,所述內存泄漏點的定位方法還包括:
對所述內存占用鏈表中的內存的地址堆棧信息記錄信息按照出現次數進行統計;
獲取所述內存占用鏈表中地址堆棧信息記錄信息出現次數大于預設閾值的短數據。
其中,所述根據所述地址堆棧信息與其所歸屬的動態庫的基地址堆棧信息確定所述地址堆棧信息對應的具體位置信息包括:
將所述地址堆棧信息減去其所歸屬的動態庫的基地址堆棧信息,得到偏移地址堆棧信息;
根據所述基地址堆棧信息和每行代碼占用的內存大小,與所述偏移地址堆棧信息進行比較,得到所述地址堆棧信息對應的具體位置信息。
本發明提供一種內存泄漏點的定位裝置,包括:
記錄單元,用于對調用內存分配器分配的內存的地址堆棧信息進行記錄,將記錄的所述內存的地址堆棧信息放入內存占用鏈表中;
地址堆棧信息獲取單元,用于通過所述內存占用鏈表獲取所述內存的地址堆棧信息;
比較單元,用于將所述地址堆棧信息與進程調用的動態庫的基地址堆棧信息和尾地址堆棧信息進行比較,確定所述地址堆棧信息歸屬的動態庫;
位置信息確定單元,用于根據所述地址堆棧信息歸屬的動態庫的基地址堆棧信息確定所述地址堆棧信息對應的具體位置信息。
本發明提供一種內存泄漏點的定位系統,包括:
存儲器,用于存儲計算機程序;
處理器,用于執行所述計算機程序時實現所述內存泄漏點的定位方法的步驟。
本發明提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現所述內存泄漏點的定位方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710823200.0/2.html,轉載請聲明來源鉆瓜專利網。





