| Autor |
Beitrag |
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 17.09.07 07:55
Hallo!
ich hab jetzt FastMM4 "installiert" und hab mal alles in meinem Programm durchgeklickt. Nun hab ich so ein lustiges Fenster bekommen. was will es mir sagen, außer das ich möglichst rasch mir ein neues Hobby suchen soll.
lg elundril
Moderiert von Tino: Screenshot in PNG umgewandelt.
Einloggen, um Attachments anzusehen!
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 17.09.07 08:03
Solche Massen an Speicherlecks haben machmal auch nur eine einzige Ursache. Wenn man z.B. vergisst, ein Bitmap freizugeben, dann gibts auch ein Leck für den Pen und den Brush etc.
Hier scheint irgendwo ein Problem mit diesen Jcl..Xml..Komponenten zu geben. Such am besten mal nach "create" in deinem Projekt und stelle sicher, dass es zu jedem Create auch ein Free gibt. Dann sollte die Liste sehr schnell viel kürzer werden.
Oder bei Listenstrukturen: Werden bei einem .clear auch die Objekte in der Liste gelöscht? Eventuell lässt sich das durch einen Parameter im Create ändern (ist z.B. bei TObjectlist so).
_________________ We are, we were and will not be.
|
|
Stefan.Buchholtz
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: Mo 17.09.07 10:15
Schalt mal wie in der Meldung empfohlen die Option FullDebugMode in der FastMM4Options.inc an. Dann wird ein ausführliches Logfile erzeugt, das dir anzeigt, wo überall Objekte erzeugt werden, die nicht wieder freigegeben werden. Damit findet man solche Speicherlecks im allgemeinen recht schnell.
Stefan
_________________ Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 17.09.07 13:59
wie kann ich das einschalten? ich habs zwar probiert aber irgendwie spuckt das ding mir keine datei aus.
lg elundril
|
|
Stefan.Buchholtz
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: Mo 17.09.07 14:09
In der FastMM4Options.inc ist eine Zeile
Delphi-Quelltext
Da den Punkt entfernen, dann ist es an. Damit das funktioniert, muss ausserdem die mitgelieferte FastMM_FullDebugMode.dll im Programmverzeichnis oder im Suchpfad sein.
Standardmäßig ist FastMM4 so eingestellt, dass der Debugmode nur verwendet wird, wenn das Programm im Debugger gestartet wird. Um das zu ändern, kannst du einfach die Option
Delphi-Quelltext 1:
| {$define RequireDebuggerPresenceForLeakReporting} |
weiter unten auskommentieren.
Stefan
_________________ Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 17.09.07 14:15
ok vielen dank! werd das mal machen und mich wieder melden!
lg elundril
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 18.09.07 19:29
Für die Auswertung der Logfile kannst Du Dir u.U. auch OmMAP mal mit anschauen, damit Du die Zahlenkollonnen der Stacktraces etwas übersichtlicher dargestellt bekommst. Aber ich tipp ähnlich wie Gausi auf ein Problem mit dem XML-Krams.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|