Oznámenie o úniku pamäte v Delphi pri ukončení programu

Digitálny ľudský a počítačový CPU

monsitj / Getty Images





Všetky verzie Delphi od Delphi 2006 majú aktualizovaný správca pamäte, ktorý je rýchlejší a bohatší na funkcie.

Jedna z najkrajších funkcií „nového“ správcu pamäte umožňuje aplikáciám zaregistrovať (a zrušiť registráciu) očakávané úniky pamäte a voliteľne hlásiť neočakávané úniky pamäte pri vypnutí programu.



Pri vytváraní WIN32 aplikácií pomocou Delphi je nevyhnutné zabezpečiť, aby ste dynamicky uvoľnili všetky objekty (pamäť), ktoré vytvoríte.

Únik pamäte (alebo prostriedkov) nastane, keď program stratí schopnosť uvoľniť pamäť, ktorú spotrebúva.



Nahláste úniky pamäte pri vypnutí

Detekcia a hlásenie úniku pamäte sú predvolene nastavené na hodnotu false. Ak ju chcete povoliť, musíte nastaviť globálnu premennú ReportMemoryLeaksOnShutdown na hodnotu TRUE.

Po zatvorení aplikácie, ak dôjde k neočakávaným únikom pamäte, aplikácia zobrazí dialógové okno „Neočakávaný únik pamäte“.

Najlepšie miesto pre ReportMemoryLeaksOnShutdown by bolo v zdrojový kód programu (dpr) súbor.

|_+_|

Poznámka: Globálna premenná DebugHook sa používa vyššie, aby sa zabezpečilo, že sa pri spustení aplikácie v režime ladenia zobrazia netesnosti pamäte - keď nasadíte F9 z Delphi IDE.



Testovacia jednotka: Detekcia úniku pamäte

Po nastavení ReportMemoryLeaksOnShutdown na hodnotu TRUE pridajte nasledujúci kód do obsluhy udalosti OnCreate hlavného formulára.

|_+_|

Spustite aplikáciu v režime ladenia, ukončite aplikáciu – malo by sa zobraziť dialógové okno úniku pamäte.



Poznámka: Ak hľadáte nástroj na zachytenie chýb vašej aplikácie Delphi, ako je poškodenie pamäte, úniky pamäte, chyby alokácie pamäte, chyby inicializácie premenných, konflikty definícií premenných, chyby ukazovateľov ... pozrite simadOkrema EurekaLog

Navigátor tipov Delphi