內存泄露(Memory leak)指的是,在程序中動態申請的內存,在使用完后既沒有釋放,又無法被程序的其他部分訪問。內存泄露是在開發大型程序中最令人頭疼的問題,以至于有人說,內存泄露是無法避免的。其實不然,防止內存泄露要從良好的編程習慣做起,另外重要的一點就是要加強單元測試(Unit Test),而valgrind就是這樣一款優秀的工具。
(1):程序發生內存泄露的條件及各種情況:
a: 內存申請忘記釋放(malloc,free();new,delete);
b:申請內存大小不正確((char*)malloc(0));
c:free()函數使用不正確(int a[];free(a)釋放了棧區參數);
d:一段內存釋放多次(1個malloc,多個free());
(2):檢測程序是否發生內存泄露:
方法有二:
a:模仿用戶長時間使用設備;
b:針對某個具體的測試用例。
-
內存泄漏
+關注
關注
0文章
40瀏覽量
9385 -
單元測試
+關注
關注
0文章
50瀏覽量
3309
發布評論請先 登錄
在OpenVINO? C++代碼中啟用 AddressSanitizer 時的內存泄漏怎么解決?
推薦兩款菲力爾氣體泄漏檢測神器
內存泄漏檢測工具Sanitizer介紹
快問快答: 工廠閥門泄漏故障了怎么檢出?檢測方法全攻略來了!

科普:產品密封泄漏試驗等級評定標準及方法詳解

如何檢測電腦的RAM內存
正壓密封試驗儀YY/T 0681.5-2010內壓法檢測粗大泄漏(氣泡法)

如何檢測內存泄漏
包裝泄漏性檢測方法—真空衰減法

評論