內(nèi)存泄露(Memory leak)指的是,在程序中動(dòng)態(tài)申請(qǐng)的內(nèi)存,在使用完后既沒有釋放,又無法被程序的其他部分訪問。內(nèi)存泄露是在開發(fā)大型程序中最令人頭疼的問題,以至于有人說,內(nèi)存泄露是無法避免的。其實(shí)不然,防止內(nèi)存泄露要從良好的編程習(xí)慣做起,另外重要的一點(diǎn)就是要加強(qiáng)單元測(cè)試(Unit Test),而valgrind就是這樣一款優(yōu)秀的工具。
(1):程序發(fā)生內(nèi)存泄露的條件及各種情況:
a: 內(nèi)存申請(qǐng)忘記釋放(malloc,free();new,delete);
b:申請(qǐng)內(nèi)存大小不正確((char*)malloc(0));
c:free()函數(shù)使用不正確(int a[];free(a)釋放了棧區(qū)參數(shù));
d:一段內(nèi)存釋放多次(1個(gè)malloc,多個(gè)free());
(2):檢測(cè)程序是否發(fā)生內(nèi)存泄露:
方法有二:
a:模仿用戶長(zhǎng)時(shí)間使用設(shè)備;
b:針對(duì)某個(gè)具體的測(cè)試用例。
-
內(nèi)存泄漏
+關(guān)注
關(guān)注
0文章
39瀏覽量
9206 -
單元測(cè)試
+關(guān)注
關(guān)注
0文章
39瀏覽量
3143
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論