[發明專利]內存檢測方法和裝置有效
| 申請號: | 201410593784.3 | 申請日: | 2014-10-28 |
| 公開(公告)號: | CN105630662B | 公開(公告)日: | 2019-07-19 |
| 發明(設計)人: | 付云雷;黃聞欣;王強;潘在亮;陳曉 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平;鄧云鵬 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 檢測 方法 裝置 | ||
1.一種內存檢測方法,其特征在于,包括以下步驟:
抓取應用程序運行時的內存快照,所述內存快照中記錄了所有內存對象和對象信息;
從所述內存快照中獲取不符合預設條件的對象的引用路徑;
將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數;
將所述引用路徑與所述被修改的類和/或函數進行匹配,得到所述應用程序當前版本的內存泄漏點。
2.根據權利要求1所述的方法,其特征在于,所述將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數的步驟包括:
將所述應用程序的當前版本信息和前一版本信息發送給差異比較器進行比較,得到被修改的類和/或函數。
3.根據權利要求2所述的方法,其特征在于,所述將所述應用程序的當前版本信息和前一版本信息發送給差異比較器進行比較,得到被修改的類和/或函數的步驟包括:
獲取所述應用程序的當前版本的基線和前一版本的基線,并將所述當前版本的基線和前一版本的基線輸入給基線差異分析器進行對比,得出差異數據;
通過代碼分析器對所述差異數據中的每個文件進行分析,獲得所述差異數據中每個文件的類和函數的起始位置;
通過類/函數差異分析器對所述差異數據、類和函數的起始位置進行分析,得到當前版本中被修改的類和/或函數。
4.根據權利要求1所述的方法,其特征在于,所述從所述內存快照中獲取不符合預設條件的對象的引用路徑的步驟包括:
從所述內存快照中獲取對象;
判斷所述對象的常駐內存是否不符合預設的配置信息,若是,則獲取所述對象的引用路徑,否則不獲取所述對象的引用路徑。
5.根據權利要求4所述的方法,其特征在于,所述引用路徑為一條對象持有另外對象的鏈條;所述配置信息包括操作邏輯、常駐對象種類和數量。
6.一種內存檢測裝置,其特征在于,包括:
抓取模塊,用于抓取應用程序運行時的內存快照,所述內存快照中記錄了所有內存對象和對象信息;
獲取模塊,用于從所述內存快照中獲取不符合預設條件的對象的引用路徑;
比較模塊,用于將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數;
匹配模塊,用于將所述引用路徑與所述被修改的類和/或函數進行匹配,得到所述應用程序當前版本的內存泄漏點。
7.根據權利要求6所述的裝置,其特征在于,所述比較模塊還用于將所述應用程序的當前版本信息和前一版本信息發送給差異比較器進行比較,得到被修改的類和/或函數。
8.根據權利要求7所述的裝置,其特征在于,所述比較模塊包括:
基線比較單元,用于獲取所述應用程序的當前版本的基線和前一版本的基線,并將所述當前版本的基線和前一版本的基線輸入給基線差異分析器進行對比,得出差異數據;
代碼分析單元,用于通過代碼分析器對所述差異數據中的每個文件進行分析,獲得所述差異數據中每個文件的類和函數的起始位置;
差異比較單元,用于通過類/函數差異分析器對所述差異數據、類和函數的起始位置進行分析,得到當前版本中被修改的類和/或函數。
9.根據權利要求6所述的裝置,其特征在于,所述獲取模塊還用于從所述內存快照中獲取對象,判斷所述對象的常駐內存是否不符合預設的配置信息,若是,則獲取所述對象的引用路徑,否則不獲取所述對象的引用路徑。
10.根據權利要求9所述的裝置,其特征在于,所述引用路徑為一條對象持有另外對象的鏈條;所述配置信息包括操作邏輯、常駐對象種類和數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410593784.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:駐車制動回路
- 下一篇:節水便攜式汽車清洗機





