![]() |
FastMM im Service
Hallo zusammen,
leider bekomme ich beim beenden meines Service ab und an so ein Problembericht-Fenster. Im Log steht natürlich nichts aussagekräftiges. Ich vermute ein Speicherleck und wollte daher mal das hochgelobte FastMM ausprobieren. Gesagt getan: FastMM ganz nach oben in die uses gepackt und
Delphi-Quellcode:
hinter das begin der dpr gestellt. Leider tut sich da aber nichts...
ReportMemoryLeaksOnShutDown := True;
Wie verwende ich FastMM bei einem Service? |
Re: FastMM im Service
Hallo,
Zitat:
Wenn es für dich nicht aussagekräftig ist, viell. für andere ? Heiko |
Re: FastMM im Service
Zitat:
Für den Service würde ich eine Reihe von Unittests mit DUnit und eine Anwendung schreiben, die das gleiche wie der Service macht (soweit möglich). Darin könnte man mit FastMM4 schon einige Lecks finden und schliessen. Um aber die Lecks auch im Service zu finden, müsste FastMM4 so konfiguriert werden, dass bei am Programmende die Lecks in eine Datei geschrieben werden. Das FastMM Options Interface (GUI) (kostenlos) ist dabei für die richtige Konfiguration von FastMM4 sehr hilfreich. Siehe auch SO: ![]() |
Re: FastMM im Service
Zitat:
|
Re: FastMM im Service
Map Dateien solltest du mit erzeugen.
Das Reports... zeigt am Ende der Anwendung ein Fenster, das geht natürlich nicht bei einen Dienst. Daher solltest du mit den Compilerschaltern das Reporting nach deinen Bedürfnissen anschalten und konfigurieren. "DEBUG"-Builds haben normal gute Einstellungen. Im Entwickler war mal ein Tutor: Entwickler Magazin (Ausgabe: 05.08/13.08.2008) Artikel: Speicher managen mit FastMM |
Re: FastMM im Service
Ich teste einen Dienst zuerst immer in Delphi direkt (Vista, XP). Dazu starte ich Delphi unter dem SystemAccount. Das geht mit RunAsSys, siehe
![]() Dann funktionieren auch alle Fensterausgaben |
Re: FastMM im Service
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank für die Tipps!
Ich werde mich morgen mal daran versuchen und mich wieder melden... @hoika: Ich hab mal einen Screenshot angehangen. |
Re: FastMM im Service
So...
Ich hab mir mal das Tool geladen und die Optionen so gewählt, dass eine Log-Datei erstellt werden soll. Leider wird aber nur eine Log-Datei erstellt wenn ich den Service aus der IDE starte (was natürlich nicht zu dem gewünschten Ergebnis führt). Wie kann ich FastMM nun dazu bringen mir auch außerhalb der IDE ein Log zu erzeugen? @mjustin & Dezipaitor: Leider ist der Service ohne VCL geschrieben, sodass ich diese Anleitung nicht anwenden kann. |
Re: FastMM im Service
Zitat:
|
Re: FastMM im Service
Achso... soll heißen ich starte das BDS mittels RunAsSystem und schreibe den Service so um, dass er sich direkt "als Service" startet?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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