ReportMemoryLeaksOnShutdown
-
- Beiträge: 369
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
- CPU-Target: 64Bit
- Wohnort: Wien
ReportMemoryLeaksOnShutdown
In Delphi setzt man diese Variable, wenn man überprüfen will, ob man in einem Programm Speicherlecks hat. Gibt es etwas vergleichbares in Free Pascal?
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: ReportMemoryLeaksOnShutdown
JA. Ist übgrigends gesetzt wenn man BuildModes verwendet und Debug auswählt.
Andreas
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 369
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
- CPU-Target: 64Bit
- Wohnort: Wien
Re: ReportMemoryLeaksOnShutdown
Danke für die Antwort.
Das ist natürlich gescheit, so spart man sich Defines im Code, um das nur beim Testen zu aktivieren.
Trotzdem: Wie heißt die entsprechende Variable? ReportMemoryLeaksOnShutdown kennt der FPC nicht. Oder wird das generell nur über die Debug-Umgebungsoption eingeschaltet?
Das ist natürlich gescheit, so spart man sich Defines im Code, um das nur beim Testen zu aktivieren.
Trotzdem: Wie heißt die entsprechende Variable? ReportMemoryLeaksOnShutdown kennt der FPC nicht. Oder wird das generell nur über die Debug-Umgebungsoption eingeschaltet?
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: ReportMemoryLeaksOnShutdown
Google sagt: http://wiki.freepascal.org/heaptrc
In den Projekteinstellungen unter Debugging findet man auch den Hinweis auf heaptrace. Es ist bei Freepascal keine Variable, sondern eine Unit.
Andreas
In den Projekteinstellungen unter Debugging findet man auch den Hinweis auf heaptrace. Es ist bei Freepascal keine Variable, sondern eine Unit.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 369
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
- CPU-Target: 64Bit
- Wohnort: Wien
Re: ReportMemoryLeaksOnShutdown
Das funktioniert im Prinzip.
Aber wenn alles in Ordnung ist, kommt am Programmende diese "Fehlermeldung":
Ist das beabsichtigt? Wenn es kein Speicherleck gibt, hätte ich lieber gar keine Meldung, das sollte ja eigentlich der Normalfall sein.
Aber wenn alles in Ordnung ist, kommt am Programmende diese "Fehlermeldung":
Code: Alles auswählen
---------------------------
Error
---------------------------
Heap dump by heaptrc unit
1870 memory blocks allocated : 1849761/1855832
1870 memory blocks freed : 1849761/1855832
0 unfreed memory blocks : 0
True heap size : 720896 (80 used in System startup)
True free heap : 720816
---------------------------
OK
---------------------------
Ist das beabsichtigt? Wenn es kein Speicherleck gibt, hätte ich lieber gar keine Meldung, das sollte ja eigentlich der Normalfall sein.
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: ReportMemoryLeaksOnShutdown
Das Fenster kommt, wenn Heaptrace eingeschaltet ist, bei mir auch immer.
Mich hatte es verwirrt, warum dort "Error" steht wenn kein Fehler aufgetreten ist.
Hätte man vielleicht eher Heapstatus nennen sollen...
Mich hatte es verwirrt, warum dort "Error" steht wenn kein Fehler aufgetreten ist.
Hätte man vielleicht eher Heapstatus nennen sollen...
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Re: ReportMemoryLeaksOnShutdown
Geht auch: http://wiki.freepascal.org/heaptrc#Show_report_only_on_leakbraunbär hat geschrieben:Wenn es kein Speicherleck gibt, hätte ich lieber gar keine Meldung
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 369
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
- CPU-Target: 64Bit
- Wohnort: Wien
Re: ReportMemoryLeaksOnShutdown
Danke, großartig.
Das ganze Lazarus ist halt schon extrem komplex, da werde ich noch eine Weile brauchen, um die unzähligen Features halbwegs zu checken.
Es steht ja ohnehin ganz klar in der Online Hilfe, aber es steht eben verdammt viel in dieser Hilfe, und da überliest man sehr leicht gerade das, was man eigentlich brauchen würde. Zumindest geht es mir so.
Schön, dass es dieses Forum gibt.
Das ganze Lazarus ist halt schon extrem komplex, da werde ich noch eine Weile brauchen, um die unzähligen Features halbwegs zu checken.
Es steht ja ohnehin ganz klar in der Online Hilfe, aber es steht eben verdammt viel in dieser Hilfe, und da überliest man sehr leicht gerade das, was man eigentlich brauchen würde. Zumindest geht es mir so.
Schön, dass es dieses Forum gibt.