內(nèi)存泄露(Memory leak)指的是,在程序中動(dòng)態(tài)申請的內(nèi)存,在使用完后既沒有釋放,又無法被程序的其他部分訪問。內(nèi)存泄露是在開發(fā)大型程序中最令人頭疼的問題,以至于有人說,內(nèi)存泄露是無法避免的。其實(shí)不然,防止內(nèi)存泄露要從良好的編程習(xí)慣做起,另外重要的一點(diǎn)就是要加強(qiáng)單元測試(Unit Test),而valgrind就是這樣一款優(yōu)秀的工具。
(1):程序發(fā)生內(nèi)存泄露的條件及各種情況:
a: 內(nèi)存申請忘記釋放(malloc,free();new,delete);
b:申請內(nèi)存大小不正確((char*)malloc(0));
c:free()函數(shù)使用不正確(int a[];free(a)釋放了棧區(qū)參數(shù));
d:一段內(nèi)存釋放多次(1個(gè)malloc,多個(gè)free());
(2):檢測程序是否發(fā)生內(nèi)存泄露:
方法有二:
a:模仿用戶長時(shí)間使用設(shè)備;
b:針對(duì)某個(gè)具體的測試用例。
-
內(nèi)存泄漏
+關(guān)注
關(guān)注
0文章
41瀏覽量
9518 -
單元測試
+關(guān)注
關(guān)注
0文章
54瀏覽量
3514
發(fā)布評(píng)論請先 登錄
選擇二氧化碳?xì)怏w泄漏檢測儀應(yīng)注意什么?
儲(chǔ)能安全警報(bào):冷卻液泄漏的隱患與檢測難題 | 星科創(chuàng)科技解讀
Microchip MTCH9010泄漏檢測器助力醫(yī)療設(shè)備安全升級(jí)
化工廠液體泄漏識(shí)別預(yù)警系統(tǒng)
T3400系列制冷劑泄漏檢測傳感器:高效可靠的制冷監(jiān)測方案
at_device 包 ml307長時(shí)間運(yùn)行有內(nèi)存泄漏問題怎么解決?
新能源鋰電池制造:VOC泄漏檢測
產(chǎn)品密封性防水泄漏標(biāo)準(zhǔn)如何判定?精誠工科氣密性檢測儀的設(shè)置方法
氣體泄漏檢測系統(tǒng):筑牢工業(yè)安全防線的智能解決方案
在OpenVINO? C++代碼中啟用 AddressSanitizer 時(shí)的內(nèi)存泄漏怎么解決?
颯特紅外熱成像技術(shù)助力氣體泄漏檢測
快問快答:泄漏等級(jí)有哪些?含閥門氣密性檢測原理方法和解決方案
傳統(tǒng)檢測方法VS電子芯片氣密性檢測儀,差距一目了然
內(nèi)存泄漏的檢測方法
評(píng)論