Paziņojums par atmiņas noplūdi Delphi, izejot no programmas
monsitj / Getty Images
Visām Delphi versijām kopš 2006. gada Delphi ir atjaunināts atmiņas pārvaldnieks, kas ir ātrāks un ar iespējām bagātāks.
Viena no jaukākajām “jaunā” atmiņas pārvaldnieka funkcijām ļauj lietojumprogrammām reģistrēt (un atcelt reģistrāciju) gaidāmās atmiņas noplūdes un pēc izvēles ziņot par negaidītām atmiņas noplūdēm programmas izslēgšanas laikā.
Veidojot WIN32 lietojumprogrammas ar Delphi, noteikti ir jāpārliecinās, ka jūs dinamiski atbrīvojat visus izveidotos objektus (atmiņu).
Atmiņas (vai resursa) noplūde notiek, kad programma zaudē spēju atbrīvot atmiņu, ko tā patērē.
Ziņojiet par atmiņas noplūdēm izslēgšanas laikā
Atmiņas noplūdes noteikšana un ziņošana pēc noklusējuma ir iestatīta uz nepatiesu. Lai to iespējotu, globālajam mainīgajam ReportMemoryLeaksOnShutdown ir jāiestata uz TRUE.
Ja lietojumprogramma ir aizvērta, ja rodas neparedzētas atmiņas noplūdes, lietojumprogramma parādīs dialoglodziņu “Negaidīta atmiņas noplūde”.
Labākā vieta ReportMemoryLeaksOnShutdown būtu programmas pirmkods (dpr) failu.
|_+_|Piezīme. Iepriekš tiek izmantots globālais mainīgais DebugHook, lai nodrošinātu, ka tiek parādītas atmiņas noplūdes, kad lietojumprogramma tiek palaista atkļūdošanas režīmā — ja ir piemērots F9 no Delphi IDE.
Testa brauciens: Atmiņas noplūdes noteikšana
Ja ReportMemoryLeaksOnShutdown ir iestatīts uz TRUE, pievienojiet šādu kodu galvenās veidlapas notikumu apdarinātājam OnCreate.
|_+_|Palaidiet lietojumprogrammu atkļūdošanas režīmā, izejiet no programmas — jums vajadzētu redzēt atmiņas noplūdes dialoglodziņu.
Piezīme. Ja meklējat rīku, lai novērstu Delphi lietojumprogrammas kļūdas, piemēram, atmiņas bojājumus, atmiņas noplūdes, atmiņas piešķiršanas kļūdas, mainīgo inicializēšanas kļūdas, mainīgo definīciju konfliktus, rādītāja kļūdas ...traks, izņemotun EurekaLog
Delphi Tips Navigator
- Datuma un laika SQL vaicājumi: datuma un laika vērtību formatēšana Access SQL programmā Delphi
- Piespiediet TListView rediģēšanas režīmu, izmantojot īsinājumtaustiņus