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

Nástroje na Nájsť pretečeniu pamäte

Keď počítačový program potrebuje k ukladaniu informácií , najprv potrebuje alokovať pamäť . Potom, čo už nie je potrebné , že údaje , program zruší pamäť tak , že iný program môže využiť toho . Ak program alokuje pamäť , bez toho aby navrátenie pamäti potom , sa tento program stane záťaž na systémové prostriedky . Tieto chyby sa nazývajú " úniky pamäte " a ako sa ich zbaviť , je dôležitou súčasťou ladenie . Proces

Bez ohľadu na to , v akom jazyku je program napísaný v , základný postup pre zistenie únikov pamäte je rovnaká . Po prvé, musí byť zistený únik pamäte . Pretečeniu pamäte je zvyčajne indikovaná lineárne zvyšuje využitie pamäte , aj keď niektoré špecializované nástroje vám povedať priamo , koľko pamäte program pridelené alebo uvoľniť . Akonáhle je zistený únik pamäti , musí byť izolovaná . To sa vykonáva testovanie každej funkcie alebo objekt samostatne určiť, kde je únik vyskytujúce . Potom programátor musí prísť na konkrétnu chybu , ktorá spôsobuje únik a opraviť ju .
C /C + +

programy napísané v jazyku C a C + + sú notoricky známe pre mať pamäť netesnosti , pretože používateľ musí ručne prideliť a navrátiť pamäte pomocou príkazu malloc . Ccmalloc nástroj sleduje funkciu malloc a správy , čo pamäti nebol vrátený , sa uvoľniť , alebo aj viackrát bez toho, aby boli pridelené vrátený na prvom mieste . Iné špecializované programy , ako je napríklad NJAMD ( " Not Just Another malloc Debugger " ) pre zistenie únikov pamäte v C a C + + existujú tiež .
MSDN

Vývojári pomocou vývojového prostredia Microsoft , môžete použiť príkaz ml nájsť pretečeniu pamäte . Písanie ml na riadku Cesh prinesie zoznam každej spustené aplikácie a množstvo pamäte, ktorá je používaná , zapísaný ako "r /w = " nasledovaný počtom stránok , ktoré aplikácie pridelené . Neočakávané zvýšenie využitia pamäte ukazujú , že aplikácia má pretečeniu pamäte .
Java

Mnoho programátorov si myslí , že programy v jazyku Java sú imúnne voči úniky pamäte , pretože programátor nie je zodpovedná pre prideľovanie a navrátenie pamäte , ale to ešte vyskytnú . Java Virtual Machine , prostredie , ktoré realizuje programy v jazyku Java , má automatický garbage collector , že zruší pamäti, keď je už odkazuje iné odvetvia . Pretečeniu pamäte môže dôjsť , keď je pamäť na ktorý sa odkazuje , ak to už nie je potrebné , prinútiť to , aby sa preskočil garbage collector . Jprobe je debugger , ktorý môže robiť snímky o využití pamäte ako Java aplikácia beží , pomáha programátorom nájsť zdroj pretečeniu pamäte .

Najnovšie články

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