ReportMemoryLeaksOnShutdown

Für Fragen von Einsteigern und Programmieranfängern...

ReportMemoryLeaksOnShutdown

Beitragvon braunbär » 13. Jul 2017, 10:00 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?
braunbär
 
Beiträge: 164
Registriert: 8. Jun 2017, 17:21

Beitragvon af0815 » 13. Jul 2017, 10:03 Re: ReportMemoryLeaksOnShutdown

JA. Ist übgrigends gesetzt wenn man BuildModes verwendet und Debug auswählt.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3258
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon braunbär » 13. Jul 2017, 10:21 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?
braunbär
 
Beiträge: 164
Registriert: 8. Jun 2017, 17:21

Beitragvon af0815 » 13. Jul 2017, 10:33 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
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3258
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon theo » 13. Jul 2017, 10:36 Re: ReportMemoryLeaksOnShutdown

theo
 
Beiträge: 7883
Registriert: 11. Sep 2006, 18:01

Beitragvon braunbär » 13. Jul 2017, 11:01 Re: ReportMemoryLeaksOnShutdown

Danke.
braunbär
 
Beiträge: 164
Registriert: 8. Jun 2017, 17:21

Beitragvon braunbär » 29. Jul 2017, 22:51 Re: ReportMemoryLeaksOnShutdown

Das funktioniert im Prinzip.
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.
braunbär
 
Beiträge: 164
Registriert: 8. Jun 2017, 17:21

Beitragvon siro » 30. Jul 2017, 06:56 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...
Grüße von Siro
"C" verCehnfacht die Entwicklungszeit...
siro
 
Beiträge: 222
Registriert: 23. Aug 2016, 13:25
Wohnort: Berlin
OS, Lazarus, FPC: Windows 7 Windows 8.1 Windows 10 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 30. Jul 2017, 09:52 Re: ReportMemoryLeaksOnShutdown

braunbär hat geschrieben:Wenn es kein Speicherleck gibt, hätte ich lieber gar keine Meldung
Geht auch: http://wiki.freepascal.org/heaptrc#Show_report_only_on_leak
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2169
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon braunbär » 30. Jul 2017, 14:10 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.
braunbär
 
Beiträge: 164
Registriert: 8. Jun 2017, 17:21

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried