![]() |
FastMM5 konfigurieren
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. |
AW: FastMM5 konfigurieren
Ich nehme an, dass es die .inc Datei zur Konfiguration auch bei FastMM5 gibt. Darin muss der FullDebugMode aktiviert werden.
|
AW: FastMM5 konfigurieren
Zitat:
|
AW: FastMM5 konfigurieren
Zitat:
Delphi-Quellcode:
als erste Zeile in der .dpr Datei.
{$DEFINE FastMM_FullDebugMode}
bzw.
Delphi-Quellcode:
um mit der dll zusammen zu arbeiten.
{$DEFINE FastMM_FullDebugModeWhenDLLAvailable}
Delphi-Quellcode:
um eine Abhängigkeit zur dll zu erzwingen.
{$DEFINE FastMM_DebugLibraryStaticDependency}
Delphi-Quellcode:
zum einschalten des loggins.
{$DEFINE FastMM_EnableMemoryLeakReporting}
|
AW: FastMM5 konfigurieren
Zitat:
Delphi-Quellcode:
Ich finde weder eine Logdatei, noch bekomme ich detailiertere Informationen als ohne FastMM5
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. |
AW: FastMM5 konfigurieren
Zitat:
Delphi-Quellcode:
austauschen.
FastMM_EnterDebugMode
Delphi-Quellcode:
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 :oops:
FastMM_SetEventLogFilename
|
AW: FastMM5 konfigurieren
Zitat:
|
AW: FastMM5 konfigurieren
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 |
AW: FastMM5 konfigurieren
Zitat:
|
AW: FastMM5 konfigurieren
Hab's jetzt so:
Delphi-Quellcode:
Keine Meldung, keine Logdatei
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 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