Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: XE3-Compiler-Speicherleck

  Alt 24. Okt 2012, 13:05
Was komisch ist, daß sich der größte Teil wieder verflüchtigt (bis auf 100-200 MB), wenn man Datei > Alle Schließen ausführt , was also bedeuten würde, daß der Speicher entweder an den Projekten oder an der Projektgruppe hängt.
Der Compiler hat einen eigenen Speichermanager (nicht FastMM), der beim Schließen des Projekts den Befehl bekommt, sämtlichen nicht (mehr) verwendeten Speicher freizugeben. (Das passiert erst seit XE).
Der Compiler hält so ziemlich alle DCU-Daten, die er einmal gelesen hat im Speicher (Unit-Cache) und ersetzt sie nur, wenn eine Unit verändert und neukompiliert wird. Der dabei ggf. freigegebene Speicher landet wieder im Compiler-Speichermanager, der ihn nicht an Windows zurückgibt, womit der IDE Speichermanager nicht an den Speicher herankommt.
Wenn natürlich im Compiler ein Speicherleck ist, kann der Compiler-Speichermanager auch auf Befehl hin den Speicherblock nicht freigeben, da er ja angeblich genutzt wird.
  Mit Zitat antworten Zitat