[發明專利]一種內存泄露的快速定位方法在審
| 申請號: | 201410089673.9 | 申請日: | 2014-03-12 |
| 公開(公告)號: | CN103914376A | 公開(公告)日: | 2014-07-09 |
| 發明(設計)人: | 趙眾 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京天奇智新知識產權代理有限公司 11340 | 代理人: | 謝磊 |
| 地址: | 300384 天津市西青*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 泄露 快速 定位 方法 | ||
1.一種內存泄露的快速定位方法,其特征在于,包括步驟:
步驟S1,申請內存時,在內存中申請預定大小的擴展區,用于保存內存頭信息,所述內存頭信息包括:用于確認內存申請和釋放情況的頭部標識信息,調用申請內存的函數信息,調用釋放內存的函數信息;
步驟S2,將所述頭部標識信息初始化為第一標識,保存調用申請內存的函數信息;
步驟S3,將所述內存加入內存鏈表中;
步驟S4,當釋放申請的內存時,將所述頭部標識信息設置為第三標識,保存調用釋放內存的函數信息;
步驟S5,將釋放的內存從內存鏈表中刪除;
步驟S6,需進行內存泄露定位時,遍歷內存鏈表,根據所述函數信息統計相同函數申請內存的次數,其中申請內存的次數不斷增長的函數為存在內存泄露的函數。
2.根據權利要求1所述的方法,其特征在于,所述頭部標識信息還用于確認申請內存的起始位置。
3.根據權利要求1所述的方法,其特征在于,所述擴展區還用于保存內存尾信息,所述內存尾信息包括尾部標識信息,用于確認申請內存的結束位置。
4.根據權利要求1至3任意一項所述的方法,其特征在于,所述步驟S6還包括:根據所述申請內存的次數,從大到小打印函數信息中的函數名稱及對應的函數申請的次數。
5.根據權利要求1至3任意一項所述的方法,其特征在于,所述步驟S6中還包括:根據所述申請內存的次數,從小到大打印函數信息中的函數名稱及對應的函數申請的次數。
6.根據權利要求4所述的方法,其特征在于,所述根據所述申請內存的次數,從大到小打印函數信息中的函數名稱及對應的函數申請的次數,包括:根據所述申請內存的次數和輸入的參數n,從大到小打印排在前n位的函數名稱及對應的函數申請的次數。
7.根據權利要求5所述的方法,其特征在于,所述根據所述申請內存的次數,從小到大打印函數信息中的函數名稱及對應的函數申請的次數,包括:根據所述申請內存的次數和輸入的參數n,從小到大打印排在前n位的函數名稱及對應的函數申請的次數。
8.根據權利要求3所述的方法,其特征在于,所述步驟S2還包括:將所述尾部標識信息初始化為第二標識;所述步驟S4還包括:將所述尾部標識信息設置為第四標識。
9.根據權利要求1所述的方法,其特征在于,所述函數信息包括函數地址和對應的代碼行數,所述函數地址能夠用以翻譯成函數名。
10.根據權利要求8所述的方法,其特征在于,所述頭部標識信息和尾部標識信息分別為內存頭魔數字和內存尾魔數字,所述第一標識、第二標識、第三標識和第四標識分別為不同的特定數字。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410089673.9/1.html,轉載請聲明來源鉆瓜專利網。





