![]() |
Unbenutzte Objekte erkennen
Hallo,
ich habe ein generelles Problem, für das ich noch keine Lösung gefunden habe :( Und zwar habe ich ein "großes" Programm geschrieben, das innerhalb einer Schleife viele Objekte erzeugt und auch die meisten wieder freigibt - die meisten, aber nicht alle! Das sehe ich daran, dass nach jedem Schleifendurchlauf der Speicher, den das Programm belegt, größer wird. Nun möchte ich gerne wissen, welche Objekte ich vergessen habe freizugeben, so dass sie am Ende der Schleife noch belegt sind. Das im Programmcode durchzuforsten und für alle Programmzweige zu untersuchen, erscheint mir zu aufwendig. Da ich mit der Suchfunktion hier noch kein Ergebnis bekam, stelle ich hier nun meine Frage: Gibt es eine Möglichkeit, sich entweder in der Borland-IDE oder per Programmcode solche eigenen erzeugten und nicht wieder freigegebenen Objekte anzeigen zu lassen? Vielen Dank für Eure Antworten! |
Re: Unbenutzte Objekte erkennen
Merk dir die Objekte
|
Re: Unbenutzte Objekte erkennen
Einfach FastMM einbinden, TD32-Debug-Infos aktivieren und am Programmende vom erzeugten Logfile auf den Erstellungspunkt der nicht mehr freigegeben Objekt hingewiesen werden.
|
Re: Unbenutzte Objekte erkennen
Letzteres kann ich auch nur empfehlen, besser Infos wirst Du IMHO kaum bekommen.
|
Re: Unbenutzte Objekte erkennen
Zitat:
du kannst ja eine Prozedur DeleteAllObjects schreiben, in die du alle aufnimmst, und die du am Ende aufrufst. Ich benutze oft Objekte, die nur bei Bedarf erzeugt werden (z.B. Datenverbindungen oder V24-Schnittstellen), im finalen Zertrümmerer kann man ja abfragen "if O1 <> nil then O1.Delete" oder sichere Verfahren wie FreeAndNil verwenden. Natürlich darf man da auch nicht vergessen, ein neu programmiertes Objekt einzufügen! Gruss Reinhard |
Re: Unbenutzte Objekte erkennen
Zitat:
Zitat:
|
Re: Unbenutzte Objekte erkennen
Es gäbe auch die Möglichkeit "Free" zu vergessen.
Barry Kelly schreib vor einiger Zeit einen ![]() Ich hatte ein Windowsservice System, dass damit lange Zeit absolut sorgenfrei lief, und es enthielt fast kein Free. *g* Und es läuft nur deshalb nicht mehr, weil ich es irgendwann durch eine .Net-basierte Lösung ersetzt habe. |
Re: Unbenutzte Objekte erkennen
Zitat:
Da nun am Schleifenende nicht alle Listen lösche kann, sondern teilweise nur die Objekte darin und da ich offensichtlich nicht alle Objekte lösche, brauche ich eben so ein Tool. Ich werde am Wochenende mal Euren Vorschlag mit FastMM ausprobieren. Danke nochmals! |
Re: Unbenutzte Objekte erkennen
Ein anderes Tool wäre noch
![]() |
Re: Unbenutzte Objekte erkennen
Zitat:
Danke für Eure Tipps! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz