AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FastMM im Service

Ein Thema von Mr_G · begonnen am 1. Jun 2009 · letzter Beitrag vom 2. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#1

FastMM im Service

  Alt 1. Jun 2009, 19:38
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 undReportMemoryLeaksOnShutDown := True; hinter das begin der dpr gestellt. Leider tut sich da aber nichts...
Wie verwende ich FastMM bei einem Service?
Jan
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: FastMM im Service

  Alt 1. Jun 2009, 19:43
Hallo,

Zitat:
Problembericht-Fenster. Im Log steht natürlich nichts aussagekräftiges.
Wie wäre es, mal das Problembericht-Fenster + Log zu posten ?
Wenn es für dich nicht aussagekräftig ist, viell. für andere ?

Heiko
Heiko
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#3

Re: FastMM im Service

  Alt 1. Jun 2009, 19:54
Zitat von Mr_G:
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 undReportMemoryLeaksOnShutDown := True; hinter das begin der dpr gestellt. Leider tut sich da aber nichts...
Wie verwende ich FastMM bei einem Service?
Einfachste Lösung, ohne Service

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:
http://stackoverflow.com/questions/9...g-in-a-service
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: FastMM im Service

  Alt 1. Jun 2009, 20:02
Zitat von Mr_G:
Im Log steht natürlich nichts aussagekräftiges.
Auch mit Debug-Infos kompiliert? (Alles!)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

Re: FastMM im Service

  Alt 1. Jun 2009, 22:06
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
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

Re: FastMM im Service

  Alt 1. Jun 2009, 23:01
Ich teste einen Dienst zuerst immer in Delphi direkt (Vista, XP). Dazu starte ich Delphi unter dem SystemAccount. Das geht mit RunAsSys, siehe http://blog.delphi-jedi.net/2008/05/...s-an-easy-way/
Dann funktionieren auch alle Fensterausgaben
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#7

Re: FastMM im Service

  Alt 2. Jun 2009, 02:28
Vielen Dank für die Tipps!
Ich werde mich morgen mal daran versuchen und mich wieder melden...
@hoika: Ich hab mal einen Screenshot angehangen.
Miniaturansicht angehängter Grafiken
problembericht_127.png  
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#8

Re: FastMM im Service

  Alt 2. Jun 2009, 11:45
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.
Jan
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#9

Re: FastMM im Service

  Alt 2. Jun 2009, 11:50
Zitat von Mr_G:
@mjustin & Dezipaitor: Leider ist der Service ohne VCL geschrieben, sodass ich diese Anleitung nicht anwenden kann.
Das ist uninteressant. Im Endeffekt ruft man einfach die Servicehandler-Funktion direkt auf.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#10

Re: FastMM im Service

  Alt 2. Jun 2009, 11:53
Achso... soll heißen ich starte das BDS mittels RunAsSystem und schreibe den Service so um, dass er sich direkt "als Service" startet?
Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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