AGB  ·  Datenschutz  ·  Impressum  







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

FastMM5 konfigurieren

Ein Thema von Hobbycoder · begonnen am 27. Dez 2022 · letzter Beitrag vom 24. Okt 2023
Antwort Antwort
Seite 1 von 2  1 2      
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#1

FastMM5 konfigurieren

  Alt 27. Dez 2022, 23:53
Hi Leute,

ich tue mich schwer FastMM5 dazu zu bekommen, mir einen detailierten Speicherbericht auszugeben. Ich bekomme lediglich dan kleinen MemoryLeak-Report, den ich auch ohne FastMM bekommen kann.
Irgendwas mache ich falsch.

Was habe ich gemacht:
- FastMM_FullDebugMode.dll ins Ausgabeverzeichnis
- FastMM5.pas im Projektverzeichnis
- FastMM5 als erste Unit in der dpr
- ReportMemoryLeaksOnShutdown:=True in der dpr (oder muss das in die Main-Unit?)

Der MemoryLeak-Report bleibt der gleiche.

Was muss ich jetzt noch machen, damit ich detailierter Informationen bekomme? GGf. auch in eine Ausgabedatei.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.588 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 00:01
Ich nehme an, dass es die .inc Datei zur Konfiguration auch bei FastMM5 gibt. Darin muss der FullDebugMode aktiviert werden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#3

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 00:07
Ich nehme an, dass es die .inc Datei zur Konfiguration auch bei FastMM5 gibt. Darin muss der FullDebugMode aktiviert werden.
Eben nicht. .inc-Datei wie in FastMM4 wird nicht mehr unterstützt.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 00:42
Was muss ich jetzt noch machen, damit ich detailierter Informationen bekomme?
Wenn ich mich nicht irre, {$DEFINE FastMM_FullDebugMode} als erste Zeile in der .dpr Datei.
bzw.
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable} um mit der dll zusammen zu arbeiten.
{$DEFINE FastMM_DebugLibraryStaticDependency} um eine Abhängigkeit zur dll zu erzwingen.
{$DEFINE FastMM_EnableMemoryLeakReporting} zum einschalten des loggins.
Gruß vom KodeZwerg

Geändert von KodeZwerg (28. Dez 2022 um 00:49 Uhr)
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#5

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 01:08
Was muss ich jetzt noch machen, damit ich detailierter Informationen bekomme?
Wenn ich mich nicht irre, {$DEFINE FastMM_FullDebugMode} als erste Zeile in der .dpr Datei.
bzw.
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable} um mit der dll zusammen zu arbeiten.
{$DEFINE FastMM_DebugLibraryStaticDependency} um eine Abhängigkeit zur dll zu erzwingen.
{$DEFINE FastMM_EnableMemoryLeakReporting} zum einschalten des loggins.
Hab ich drin. Aber keine Änderung. Muss ReportMemoryLeaksOnShutdown:=True; drinbleiben?

Delphi-Quellcode:
program ThreadTest;

uses
  FastMM5,
  Vcl.Forms,
  ThreadTestMain in 'ThreadTestMain.pas{frmThreadTest},
  uSettings in 'uSettings.pas',
  uRWStream in 'uRWStream.pas',
  uMonitorData in 'uMonitorData.pas',
  uETAComWebserver in 'uETAComWebserver.pas',
  uGetDataFromComSvc in 'uGetDataFromComSvc.pas',
  uETADataWebserver in 'uETADataWebserver.pas',
  uMonitorLogging in 'uMonitorLogging.pas',
  MonLogList in 'MonLogList.pas{frmMonLogList};
{$DEFINE FastMM_FullDebugMode}
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable}
{$DEFINE FastMM_DebugLibraryStaticDependency}
{$DEFINE FastMM_EnableMemoryLeakReporting}
{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmThreadTest, frmThreadTest);
  Application.CreateForm(TfrmMonLogList, frmMonLogList);
  ReportMemoryLeaksOnShutdown:=True;
  Application.Run;
end.
Ich finde weder eine Logdatei, noch bekomme ich detailiertere Informationen als ohne FastMM5
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 01:15
Muss ReportMemoryLeaksOnShutdown:=True;
Mit FastMM_EnterDebugMode austauschen. FastMM_SetEventLogFilename mit deinen Wunsch-datei-namen überschreiben. Aber ist schon lange her das ich es ausprobiert hatte, habe mir nur ein paar infos in einem kleinen projekt gesichert und kommentiert
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 01:16
Was muss ich jetzt noch machen, damit ich detailierter Informationen bekomme?
Wenn ich mich nicht irre, {$DEFINE FastMM_FullDebugMode} als erste Zeile in der .dpr Datei.
bzw.
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable} um mit der dll zusammen zu arbeiten.
{$DEFINE FastMM_DebugLibraryStaticDependency} um eine Abhängigkeit zur dll zu erzwingen.
{$DEFINE FastMM_EnableMemoryLeakReporting} zum einschalten des loggins.
Hab ich drin. Aber keine Änderung. Muss ReportMemoryLeaksOnShutdown:=True; drinbleiben?

Delphi-Quellcode:
program ThreadTest;

uses
  FastMM5,
  Vcl.Forms,
  ThreadTestMain in 'ThreadTestMain.pas{frmThreadTest},
  uSettings in 'uSettings.pas',
  uRWStream in 'uRWStream.pas',
  uMonitorData in 'uMonitorData.pas',
  uETAComWebserver in 'uETAComWebserver.pas',
  uGetDataFromComSvc in 'uGetDataFromComSvc.pas',
  uETADataWebserver in 'uETADataWebserver.pas',
  uMonitorLogging in 'uMonitorLogging.pas',
  MonLogList in 'MonLogList.pas{frmMonLogList};
{$DEFINE FastMM_FullDebugMode}
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable}
{$DEFINE FastMM_DebugLibraryStaticDependency}
{$DEFINE FastMM_EnableMemoryLeakReporting}
{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmThreadTest, frmThreadTest);
  Application.CreateForm(TfrmMonLogList, frmMonLogList);
  ReportMemoryLeaksOnShutdown:=True;
  Application.Run;
end.
Ich finde weder eine Logdatei, noch bekomme ich detailiertere Informationen als ohne FastMM5
Die {$DEFINEs} müssen ÜBER der uses.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 02:53
Egal ob vor oder nach dem USES,
innerhalb des Projekts werden DEFINEs niemals über Grenzen von Units hinweg durchgereicht.

Aber man kann es in den Projektoptionen eintragen, also von außerhalb, als Parameter des Compilers.
> Erzeugen > Delphi-Compiler > Bedingungen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Dez 2022 um 02:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.588 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 10:01
Eben nicht. .inc-Datei wie in FastMM4 wird nicht mehr unterstützt.
Das stimmt nicht. Ich hatte allerdings vergessen, dass man dafür FastMM_IncludeLegacyOptionsFile setzen muss. Dann wird die gleiche FastMM4Options.inc Datei geladen. Ich hatte schlicht dieses ifdef im Code deaktiviert, so dass diese Datei bei mir immer geladen wird. Deshalb hatte ich daran nicht mehr gedacht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#10

AW: FastMM5 konfigurieren

  Alt 28. Dez 2022, 14:47
Hab's jetzt so:
Delphi-Quellcode:
program ThreadTest;

{$DEFINE FastMM_FullDebugMode}
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable}
{$DEFINE FastMM_DebugLibraryStaticDependency}
{$DEFINE FastMM_EnableMemoryLeakReporting}

uses
  FastMM5,
  Vcl.Forms,
  ThreadTestMain in 'ThreadTestMain.pas{frmThreadTest},
  uSettings in 'uSettings.pas',
  uRWStream in 'uRWStream.pas',
  uMonitorData in 'uMonitorData.pas',
  uETAComWebserver in 'uETAComWebserver.pas',
  uGetDataFromComSvc in 'uGetDataFromComSvc.pas',
  uETADataWebserver in 'uETADataWebserver.pas',
  uMonitorLogging in 'uMonitorLogging.pas',
  MonLogList in 'MonLogList.pas{frmMonLogList};
{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmThreadTest, frmThreadTest);
  Application.CreateForm(TfrmMonLogList, frmMonLogList);
  FastMM_SetEventLogFilename('D:\Projects\ETA-Monitor\Win32\Debug\MM.log');
  FastMM_EnterDebugMode;
  Application.Run;
end.
Keine Meldung, keine Logdatei
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  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 13:08 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