Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zwei Fragen zu FastMM - finde log Datei nicht ... (https://www.delphipraxis.net/111841-zwei-fragen-zu-fastmm-finde-log-datei-nicht.html)

Viktorii 10. Apr 2008 08:32


Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Hallo zusammen.

Ich habe von FastMM gelesen und wollte es auch mal ausprobieren. Ich habe, wie in der Anleitung beschrieben, die Unit FastMM4.pas in meine .dpr Datei unter uses als erste Unit eingefügt.
Zusätzlich habe ich noch die Unit FastMM4Messages.pas eingefügt. Nun habe ich mein Projekt neu erzeugt und habe es laufen lassen. Allerdings kann ich danach nirgends eine log-Datei finden.
Nun habe ich gelesen, dass man ReportMemoryLeaksOnShutDown := DebugHook <> 0; in sein Projekt hinzufügen sollte. Dies habe ich in unter FormCreate auch gemacht. Allerdings erhalte ich dann eine Warnung:

Zitat:

[Pascal Warnung] xyz.pas(354): W1002 Symbol 'DebugHook' ist plattformspezifisch
Zudem finde ich danach auch keine log-Datei. Habe intensiv von der SuFu Gebrauch gemacht, aber leider ohne Erfolg.

Wie bekomme ich eine log-Datei generiert?



Ich habe einfach mal das Dynamically Loaded DLL Demo getestet. Dabei bekam ich dann die Meldung:

Zitat:

---------------------------
TestDLL.dll: Cannot install FastMM4 - Memory has already been allocated
---------------------------
FastMM4 cannot install since memory has already been allocated through the default memory manager.FastMM4.pas MUST be the first unit in your project's .dpr
file, otherwise memory may be allocatedthrough the default memory manager before FastMM4 gains control. If you are using an exception trapper like MadExcept
(or any tool that modifies the unit initialization order),go into its configuration page and ensure that the FastMM4.pas unit is initialized before any other
unit.
---------------------------
OK
---------------------------
Allerdings habe ich dir FastMM4.pas als erste eingebunden. Wo liegt hier das Problem?


Vielen Dank

RavenIV 10. Apr 2008 09:54

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Zitat:

Zitat von Viktorii
Allerdings habe ich dir FastMM4.pas als erste eingebunden. Wo liegt hier das Problem?

Hast Du vielleicht noch einen anderen MemoryManager eingebunden?
z.B. ShareMem?

Nuclear-Ping 10. Apr 2008 11:19

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Zitat:

Zitat von Viktorii
Allerdings kann ich danach nirgends eine log-Datei finden.

[...]

Wie bekomme ich eine log-Datei generiert?

Unter Projektoptionen -> Verzeichnisse/Bedingungen zwei neue Compiler-Bedingungen reinschreiben: FullDebugMode;LogMemoryLeakDetailToFile

Viktorii 10. Apr 2008 11:28

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Liste der Anhänge anzeigen (Anzahl: 1)
@RavenIV
Das weiss ich ehrlichgesagt nicht. Ich selber habe keinen weiteren Memory Manager eingebunden...


@Nuclear-Ping
Sehe die Option bei mir leider nicht (siehe Anhang)

Nuclear-Ping 10. Apr 2008 11:39

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Bei "Definitionen" glaube. Zur Sicherheit auch mal alle .DCUs deines Projektes löschen und neu compilen.

Viktorii 11. Apr 2008 15:00

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Ich habe es so gemacht. Leider ist immer noch keine log-Datei zu finden :cry:

Vielleicht noch eine Idee?

Nuclear-Ping 12. Apr 2008 10:24

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Dann stimmen die Defines vlt nicht? Oder dein Programm hat keine Leaks? Vielleicht nicht alle .dcus gelöscht?

Du solltest nach Beendigung deines Programmes von FastMM eine MessageBox sehen, wo Leaks drinstehen. Entweder steht dann unten ... (ohne Defines)
Zitat:

[...]

Notiz: Um eine Log-Datei zu erhalten, die Details zu Speicherlecks enthält, aktivieren Sie "FullDebugMode" und "LogMemoryLeakDetailToFile" in der Options-Datei. Um diese Speicherleck-Überprüfung abzuschalten, kommentieren Sie "EnableMemoryLeakReporting" aus.
... oder ...(mit Defines)
Zitat:

[...]

Notiz: Speicherleck-Details werden in eine Textdatei geschrieben, die sich im selben Verzeichnis wie diese Anwendung befindet. Um diese Speicherleck-Überprüfung abzuschalten, kommentieren Sie "EnableMemoryLeakReporting" aus.

Viktorii 14. Apr 2008 09:05

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe nochmal nach allen .dcu gesucht und habe sie gelöscht. Danach habe ich mein Projekt neu erzeugt.

Habe auch extra ein Objekt erzeugt, welches ich unter FormDestroy nicht wieder freigebe. Somit müsste ich also ein Leak haben.

Die Defines habe ich per copy&paste von Deine Post bei mit unter Definitionen eingefügt, müssten als auch stimmen.

FullDebugMode habe ich in der .inc Datei jetzt auch aktiviert, aber leider bekomme ich keine Reaktion von FastMM. Eingebunden ist FastMM wohl auf jeden Fall, weil wenn ich die benötigte FastMM_FullDebugMode.dll nicht in meinem Verzeichnis habe, bekomme ich eine Fehlermeldung.

Muss man bei den Projekt Optionen unter Compiler etwas beachten? Habe da etwas dran rumgespielt... Ich hänge mal ein Screenshot an meinen Post...

Viktorii 21. Apr 2008 10:11

Re: Zwei Fragen zu FastMM - finde log Datei nicht ...
 
*push*


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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