內(nèi)存泄露(Memory leak)指的是,在程序中動態(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個malloc,多個free());
(2):檢測程序是否發(fā)生內(nèi)存泄露:
方法有二:
a:模仿用戶長時間使用設(shè)備;
b:針對某個具體的測試用例。
-
內(nèi)存泄漏
+關(guān)注
關(guān)注
0文章
39瀏覽量
9185 -
單元測試
+關(guān)注
關(guān)注
0文章
37瀏覽量
3122
發(fā)布評論請先 登錄
相關(guān)推薦
評論