AW: Was mache ich mit der MemoryLeak Ausgabe?
Gut das mal vom Profi zu hören, wir hätten noch ewig weiterraten können :roteyes:
|
AW: Was mache ich mit der MemoryLeak Ausgabe?
:thumb:
Danke, Stevie! Dann hatte ich ja fast alles richtig gemacht in meiner Anwendung :) Sherlock |
AW: Was mache ich mit der MemoryLeak Ausgabe?
Jetzt würde ich aber noch gern die "Unknown"-Sache besser verstehen. Warum ist es "Unknown"? Weil einer manuell einen Speicherblock angefordert und mit irgendetwas gefüllt hat? Kann ich, ohne so etwas, in meiner Anwendung auch "Unknown"-Belegungen erzeugen?
|
AW: Was mache ich mit der MemoryLeak Ausgabe?
Zitat:
Delphi-Quellcode:
und ich glaube auch per
GetMem
Delphi-Quellcode:
(im Falle von dyn. Arrays) alloziierst.
SetLength
|
AW: Was mache ich mit der MemoryLeak Ausgabe?
Generell ist alles über GetMem, AllocMem oder ReallocMem allokiert (siehe z.B.
Delphi-Quellcode:
), der Memory Manager kennt nix anderes (siehe
TObject.NewInstance
Delphi-Quellcode:
).
System.TMemoryManagerEx
Allerdings werden einige durchaus aufwändige Analysen des Speicherblocks durchgeführt, um recht zuverlässig festzustellen, obs ein Objekt oder string ist, alles andere is unknown. Solcher Speicher hat nämlich ein gewisses "Aussehen". Siehe dazu
Delphi-Quellcode:
und
DetectClassInstance
Delphi-Quellcode:
in
DetectStringData
Delphi-Quellcode:
FastMM4.pas
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz