[發明專利]一種內存泄漏的檢測方法及裝置有效
| 申請號: | 201811646001.8 | 申請日: | 2018-12-29 |
| 公開(公告)號: | CN109857615B | 公開(公告)日: | 2022-07-19 |
| 發明(設計)人: | 張晨陽 | 申請(專利權)人: | 奇安信科技集團股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/32;G06F11/07 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 100088 北京市西城區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 泄漏 檢測 方法 裝置 | ||
1.一種內存泄漏的檢測方法,其特征在于,所述檢測方法包括:
在對指定對象的監控過程中,在監測到針對所述指定對象的每次操作時,獲取針對所述指定對象的每次操作后的內存占用率;其中,所述指定對象包括程序模塊、進程、函數或者命令行中的至少一種;
根據針對所述指定對象的每次操作后的內存占用率,檢測所述指定對象是否存在內存泄露;
其中,所述根據針對所述指定對象的每次操作后的內存占用率,檢測所述指定對象是否存在內存泄露,包括:
針對每次操作,檢測針對所述指定對象的該次操作后的內存占用率的變化情況是否與該次操作的操作類型所對應的內存占用率預設變化情況相一致;其中,所述操作類型包括調用指定對象和釋放指定對象;當操作類型為所述釋放指定對象時,內存占用率預設變化情況為內存減少預設值;當操作類型為所述調用指定對象時,內存占用率預設變化情況為內存增加預設值;
當檢測到針對所述指定對象的該次操作后的內存占用率的變化情況與該次操作的操作類型所對應的內存占用率預設變化情況不一致時,確定所述指定對象存在內存泄露。
2.根據權利要求1所述的方法,其特征在于,所述在監測到針對所述指定對象的每次操作時,獲取針對所述指定對象的每次操作后的內存占用率之后,所述方法還包括:
輸出針對所述指定對象的每次操作后的內存占用率的可視化信息。
3.根據權利要求1所述的方法,其特征在于,所述確定所述指定對象存在內存泄露之后,所述方法還包括:
輸出報警信息。
4.一種內存泄露的檢測裝置,其特征在于,所述檢測裝置包括:
獲取模塊,用于在對指定對象的監控過程中,在監測到針對所述指定對象的每次操作時,獲取針對所述指定對象的每次操作后的內存占用率;其中,所述指定對象包括程序模塊、進程、函數或者命令行中的至少一種;
檢測模塊,用于根據針對所述指定對象的每次操作后的內存占用率,檢測所述指定對象是否存在內存泄露;其中,所述檢測模塊包括:
檢測單元,用于針對每次操作,檢測針對所述指定對象的該次操作后的內存占用率的變化情況是否與該次操作的操作類型所對應的內存占用率預設變化情況相一致;其中,所述操作類型包括調用指定對象和釋放指定對象;當操作類型為所述釋放指定對象時,內存占用率預設變化情況為內存減少預設值;當操作類型為所述調用指定對象時,內存占用率預設變化情況為內存增加預設值;
確定單元,用于當檢測到針對所述指定對象的該次操作后的內存占用率的變化情況與該次操作的操作類型所對應的內存占用率預設變化情況不一致時,確定所述指定對象存在內存泄露。
5.根據權利要求4所述的裝置,其特征在于,所述裝置還包括:
第一輸出模塊,用于輸出針對所述指定對象的每次操作后的內存占用率的可視化信息。
6.根據權利要求4所述的裝置,其特征在于,所述裝置還包括:
第二輸出模塊,用于輸出報警信息。
7.一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現如權利要求1至3中任一項所述的內存泄露的檢測方法的步驟。
8.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該計算機程序被處理器執行時實現如權利要求1至3中任一項所述的內存泄露的檢測方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奇安信科技集團股份有限公司,未經奇安信科技集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811646001.8/1.html,轉載請聲明來源鉆瓜專利網。





