![]() |
FastMM benutzen
Hallo Leute!
Manchmal hat man es wirklich schwer. Die Aufgabe ist eigentlich ganz einfach. Ich will FastMM nutzen um meine Anwendung auf Speicherlecks zu prüfen. Ich hab FastMM4 als erste Unit in meinen Projektquellcode aufgenommen, die FastMM_FullDebugMode.dll in mein Programmverzeichnis kopiert und meine Anwendung erfolgreich kompiliert. Zusätzlich hab ich folgende Zeile eingefügt:
Delphi-Quellcode:
Ich starte das Programm im Debugger, führe es aus, beende es, ... alles super.
begin
Application.Initialize; ReportMemoryLeaksOnShutdown := True; ... Aber wo finde ich jetzt meine Informationen die mir FastMM zu eventuellen Speicherlecks findet? :pale: Ich hatte vor längerer Zeit schon mal FastMM benutzt und kann mich duster daran erinnern ein Fenster mit einer Anzeige gehabt zu haben. Der entsprechende Speicher mit den Infos scheint aber aus meinem Gehirn gelöscht zu sein :mrgreen: Schon mal Dank und Gruß oki |
Re: FastMM benutzen
Wenn Speicherlecks vorhanden sind, wird Dir das zum Programmende per MessageBox mitgeteilt. Überprüfen kannst Du das ganz einfach, indem Du z.B. ein Objekt erzeugst und das nicht wieder freigibst.
|
Re: FastMM benutzen
Hallo DeddyH,
schon mal Dank für die Antwort. Ich denke, dass ich definitiv ein Leck in meiner Anwendung habe. Ich benutze WMI, und nach jedem Abfragedurchlauf (Button-Click) werden 20k mehr Speicher verbraucht. Eigentlich sollte das imho nicht passieren. Aber ich werde deinen Vorschlag mal aufgreifen und einfach eine Objektleiche zurücklassen um zu prüfen, was FastMM bei mir dann macht. Gruß oki |
Re: FastMM benutzen
WMI verwendet COM-Interfaces. Und dort ist der Delphi-Memorymanager und damit FastMM außen vor.
Entweder du verwendest die Schnittstelle falsch (irgendwelche .Quit/.Exit-Aufrufe fehlen) oder das Interface hat eine Speicherlücke. Ab unzu (bei IE wirkt das) einfach mal ein _Release auf ein COM-Interface probieren ob man damit die Speicherlücke weg bekommt. Ist zwar bei Delphi nicht nötig, aber wenn der Interface-Lieferant murks baut ... |
Re: FastMM benutzen
Ich hab das grad mal getestet. Ein nicht frei gegebenes Objekt wird erkannt und es ist so, wie Bernhard es sagt. ich such mal alles zu meinem verwendeten WMI-Dingsdas raus und mach zu meinem Speicherproblem einen neuen Thread auf.
Besten Dank euch beiden, Gruß oki |
Re: FastMM benutzen
Mein Speicherproblem hat sich mittlerweile von selbst gelöst. Ich hatte die WMI.pas von himitzu hier
![]() Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 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-2025 by Thomas Breitkreuz