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

Ako Ladenie pretečeniu pamäte v C + +

pretečeniu pamäte je , keď program , spôsobí postupný , ale stály spotrebu pamäte, čo je program používať viac pamäte , než potrebuje . V najlepšom prípade sa program bude využívať viac pamäte a spomaľuje počítač . Extrémne prípady budú používať dostatok pamäte spôsobiť iné programy k zrážke z dôvodu nedostatku dostupnej pamäte , najhorší scenár , bude pád vášho operačného systému . V C + + , úniky pamäte môže byť spôsobená niekoľkých rôznych chýb kódovania . Nasledujúci vám ukáže , ako skontrolovať , či váš program má pretečeniu pamäte a kde ju nájsť . Pokyny dovolená 1

Zistite si , či váš program má pretečeniu pamäte . Spustite program pomocou ladiaceho programu zadaním :

" _CrtDumpMemoryLeaks ( ) "

prvý riadok kódu bude čítať " Zistené úniky pamäti ! " Ak nie, potom program nemá pretečeniu pamäte .
2

vystopovať umiestnenie pretečeniu pamäte . Tretí riadok

" _CrtDumpMemoryLeaks ( ) "

použiť s výrokom :

" # define _CRTDBG_MAP_ALLOC "

vám povie meno súbor , kde bolo pridelené unikli pamäti . Môžete tiež použiť MFC sledovať pridelenie pamäti . V MFC makro : .

" DEBUG_NEW "

môžu byť použité na sledovanie únikov pamäti
3

Prejdite k súboru uvedené. Zlé kódovanie bude musieť byť umiestnený . Existuje niekoľko príčin pretečeniu pamäte , nesprávne použitie novej /odstrániť , nevhodný odstránenie , " stratil " ukazovatele alebo ukazovateľ dostane mimo rozsahu. Pozrite sa na riadky kódu , kde je pridelenej pamäte , a opraviť prípadné problémy . Skontrolujte , či alokovaná pamäť v slučke je prepustený v každej iterácii . Uistite sa , že ukazovatele nemôže ísť mimo rozsah , než pamäť je uvoľnená . Tiež skontrolujte , či kódy :

' malloc ' /'zadarmo '

" novej " /" vymazať "

" nové [ ] /delete [ ] '

sú správne používané
4

spustite program pomocou ladiaceho programu znovu zadaním : .

" _CrtDumpMemoryLeaks ( ) '

aby ste zistili, či problém stále dochádza .

Najnovšie články

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