Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Test pretečeniu pamäte

rad spôsobov, ako sú k dispozícii na určenie , či je počítačový program netesní pamäti . Programátor môže preosiať cez zdrojový kód , aby sa ubezpečil , že všetky pridelené pamäti bol vrátený , môžete si napísať program , ktorý testuje svoj softvér pre úniky pamäte , môžete si vymyslieť plán správy pamäte , ktorý mu umožňuje sledovať použitej pamäte alebo mu môžete použiť program iného výrobcu , ktorý testuje únikov pamäte . Čo je pretečeniu pamäte ?

Pretekaním pamäte je nežiaduce využitie pamäte počítačového programu , kde program alokuje pamäť pre použitie a nedokáže navrátiť raz pamäť je už v prevádzke . Tento kus pamäti už nebude k dispozícii počítačový program . Program , ktorý nevracia dostatok pamäte cez dostatok času môže spôsobiť , že systém spustiť z dostupnej pamäte , čo môže spôsobiť , že program , alebo počítačový systém zlyhá . Úniky pamäte môže tiež spôsobiť systém spomaliť na neuspokojivé rýchlosti , kvôli pamäti výprask . Programy , ktoré bežia na dlhú dobu , vykonávať mnoho prídely alebo prideliť pamäť veľké kusy môžu byť obzvlášť náchylné na nebezpečné úniky pamäte .
Zásady správne kódovanie postupy

najlepší spôsob , ako zabezpečiť , že váš program nie je úniku pamäte je napísať dobrý kód , ktorý vhodne spravuje prostriedky systému . Uistite sa , že pre každé volanie funkcie , ktorá prideľuje pamäť , je zodpovedajúca volanie , ktoré zruší pamäť . Niektoré jazyky , ako je Java , C # , VB.NET , a zabezpečiť odvoz odpadu , kde sa pravidelne kontroluje systém , ktorý pridelené pamäte je stále v prevádzke . Hoci tieto systémy nebráni úniky pamäte úplne , je menej pravdepodobné , že bude dochádzať . Iné jazyky , ako je C + + , aby rozdelenie zásobníka , kde sa kus pamäte je uvoľniť automaticky , akonáhle premenná , ktorá sa odvoláva ide mimo rozsahu. Pri použití správneho jazyka pre úlohu a udržiavanie dobrých softvér písania postupy , mnoho úniky pamäte možno vyhnúť úplne .
Vytvoriť Správca pamäte

Niektoré počítače programy vyžadujú toľko spustenie kódu , že čítanie v rámci programu zistiť , kde pamäť unikli jednoducho nie je možné . V týchto prípadoch , môže mať zmysel písať pamäti správcu súčasť programu . Tento softvér by potom mať jednotné rozhranie pre prideľovania všetkej kúsky pamäti , a manažér sleduje , kde a ako sa tieto kúsky sú pridelené . Vo svojej najjednoduchšej forme , manažér jednoducho poskytuje spätnú väzbu , takže programátor vidieť , ako sa používa veľa pamäte , a aké komponenty sa používať . To môže tiež zabezpečiť odvoz odpadu a kontrolovať, ako je alokovaná pamäť a uvoľniť , takže programátor iba jedno miesto na hľadanie únikov pamäti , namiesto celého kódu pre celý program .
Vytvorenie testovacieho programu

Jeden môže často vyzerať na pamäte používané programom s systémového nástroja , ako je Správca úloh systému Windows alebo "hore " na Unix /Linux sa zistilo , či je pamäť sú unikli . To nie je vždy dôkazom pretečeniu pamäte , ale môže poskytnúť určitú počiatočnú spätnej väzby . Niekedy je možné napísať jednoduchý program , ktorý testuje rôzne súčasti kusu softvéru určiť , či pamäť tečie . Testovací program môže dynamicky určiť alebo mať predchádzajúce znalosti o tom , koľko pamäte by počítačový program používať . Ďalej zabezpečia, že použité množstvo je množstvo , ktoré by mali byť použité . Pokiaľ dochádza k pretečeniu pamäte , testovací program poskytuje spätnú väzbu o tom , ako sa to stalo , takže programátor opraviť netesnosť .
Softvér tretej strany

Programátori môžu používať mnoho tretie - party programy a knižnice otestovať , či je ich softvér netesní pamäti . V Microsoft . NET Framework , možno povoliť testovanie tesnosti pamäte pomocou ladiaci verzia funkcií prideľovanie pamäte . Na Linux , Unix a Mac , môžete použiť nástroje , ako je napríklad Valgrind , dmalloc a Poistiť + + izolovať pretečeniu pamäte . Veľa pamäte Debuggers sú tiež k dispozícii pre systém Windows . Najlepší nástroj pre prácu , závisí na vývojové prostredie a jazyk sa používa , rovnako ako špecifické vlastnosti programu pre ladenie , ako je veľkosť , požiadavky na rýchlosť a spôsob , akým komunikuje so systémom . Existuje mnoho nástrojov , z ktorých si vybrať , a môžu byť prínosom pre frustrované programátor unavení hľadaním tej poslednej nepolapiteľný úniku .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené