[發明專利]內存檢測方法和裝置有效
| 申請號: | 201410593784.3 | 申請日: | 2014-10-28 |
| 公開(公告)號: | CN105630662B | 公開(公告)日: | 2019-07-19 |
| 發明(設計)人: | 付云雷;黃聞欣;王強;潘在亮;陳曉 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平;鄧云鵬 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 檢測 方法 裝置 | ||
本發明涉及一種內存檢測方法和裝置。所述方法包括以下步驟:抓取應用程序運行時的內存快照;從內存快照中獲取不符合預設條件的對象的引用路徑;將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數;將所述引用路徑與所述被修改的類和/或函數進行匹配,得到所述應用程序當前版本的內存泄漏點。上述內存檢測方法和裝置,通過自動抓取應用程序的內存快照,并獲取符合條件的對象的引用路徑,通過將應用程序當前版本信息和前一版本信息進行比較得到被修改的類和/或函數,然后再將引用路徑與被修改的類和/或函數進行匹配,得到當前版本的內存泄漏點,過程不需人工參與,降低了人工成本,提高了檢測效率。
技術領域
本發明涉及數據檢測領域,特別是涉及一種內存檢測方法和裝置。
背景技術
適用于Android系統的應用產品主要使用java語言編碼,因語言自身特點,檢測應用程序的內存泄漏點問題的方法主要是通過運行軟件本身,在運行過程中抓取內存快照,并通過對內存快照的分析,將不合理常駐的內存對象摘出來,獲取其引用路徑和路徑上的代碼修改記錄進行比較,得到泄漏點代碼。
傳統的應用程序的內存檢測過程主要通過人工進行分析比較得出泄漏點,其人力成本較高。
發明內容
基于此,有必要針對傳統的應用程序的內存檢測方法依賴人工完成且人工成本較高的問題,提供一種能降低人工成本的內存檢測方法和裝置。
一種內存檢測方法,包括以下步驟:
抓取應用程序運行時的內存快照;
從所述內存快照中獲取不符合預設條件的對象的引用路徑;
將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數;
將所述引用路徑與所述被修改的類和/或函數進行匹配,得到所述應用程序當前版本的內存泄漏點。
一種內存檢測裝置,包括:
抓取模塊,用于抓取應用程序運行時的內存快照;
獲取模塊,用于從所述內存快照中獲取不符合預設條件的對象的引用路徑;
比較模塊,用于將所述應用程序的當前版本信息和前一版本信息進行比較,得到被修改的類和/或函數;
匹配模塊,用于將所述引用路徑與所述被修改的類和/或函數進行匹配,得到所述應用程序當前版本的內存泄漏點。
上述內存檢測方法和裝置,通過自動抓取應用程序的內存快照,并獲取符合條件的對象的引用路徑,通過將應用程序當前版本信息和前一版本信息進行比較得到被修改的類和/或函數,然后再將引用路徑與被修改的類和/或函數進行匹配,得到當前版本的內存泄漏點,其對比過程不需人工參與,降低了人工成本,且提高了檢測效率。
附圖說明
圖1為一個實施例中內存檢測方法的流程示意圖;
圖2為一個實施例中將該應用程序的當前版本信息和前一版本信息發送給差異比較器進行比較,得到被修改的類和/或函數的步驟的流程圖;
圖3為一個實施例中內存檢測裝置的結構框圖;
圖4為一個實施例中比較模塊的內部結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410593784.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:駐車制動回路
- 下一篇:節水便攜式汽車清洗機





