În calcul , o scurgere de memorie este un bug explicat printr - o ocupație și creșterea necontrolată sau nedorită a dimensiunii rezident de date în memorie , ceea ce duce la saturarea memoriei a calculatorului .
Într-un program care stochează în mod regulat date noi în memorie, cea mai frecventă cauză a unei astfel de erori este lipsa alocării (eliberării) spațiului folosit atunci când aceste obiecte nu mai sunt referite. În timp (atâta timp cât programul continuă să ruleze), dimensiunea datelor rezidente în memorie crește, prin urmare.
O scurgere de memorie este doar o problemă software . Este total independent de funcționarea bună sau proastă a componentelor memoriei.
Consecința unei scurgeri este saturația memoriei aparatului. Dacă aparatul are un sistem de operare avansat , acesta din urmă va înceta să ruleze software-ul atunci când memoria disponibilă este plină. În caz contrar, software-ul se va termina anormal și neașteptat fără a indica cauzele defecțiunii sale.
Există multe instrumente pentru a detecta acest tip de eroare (pentru software sau biblioteci programate cu limbaje compilate fără GC (colectarea gunoiului), cum ar fi C / C ++):
De nivel înalt de limbi reduce riscul scurgerilor de memorie datorită prezenței unui colector de gunoi .