Wenn ich Heaptrc in den Projekteinstellungen aktiviere, zeigt er mir nach der Beendigung des Programms alle Speicherlecks an - allerdings nicht für sehr lange, denn sobald die Ausgabe der Speicherblöcke beendet ist, schließt sich das Konsolenfenster und die Informationen sind weg.
Ein Workaround ist, ein cmd-Fenster zu öffnen, dort den Zeilenpuffer zu vergrössern (sonst kann ich nicht zurückscrollen) und dann die exe über die Kommandozeile aufzurufen. Das ist aber doch etwas mühsam, geht das irgendwie einfacher?
heaptrc und Konsolenanwendung
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- 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: heaptrc und Konsolenanwendung
Ja, kann man auch in eine Datei schreiben. Kann dir aktuell kein Snippet senden, da ich am Mobile schreibe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 463
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
- CPU-Target: 64Bit
- Wohnort: Wien
Re: heaptrc und Konsolenanwendung
Danke für den Hinweis, habe es gefunden: Mit dem Befehl
werd diese Informationen ins file heap.Log geschrieben.
Code: Alles auswählen
SetHeapTraceOutput('Heap.log');
werd diese Informationen ins file heap.Log geschrieben.
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- 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: heaptrc und Konsolenanwendung
Hier mein Snippet
Das steht bei mir am Anfang in der .lpr Datei drinnen.
Code: Alles auswählen
// If you want to show heaptrc report dialog only if there were leaks
// in your application, then put this command somewhere
// in your main project source file:
{$if declared(UseHeapTrace)}
GlobalSkipIfNoLeaks := true; // supported as of debugger version 3.1.1
if FileExists(co_heaptrc) then
DeleteFile(co_heaptrc);
SetHeapTraceOutput(co_heaptrc); // supported as of debugger version 3.1.1
// HaltOnError := false; // dont halt a the end of the programm
{$endif}
DebugLnEnter('****************************************************************');
DebugLn('Starting...');
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 463
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
- CPU-Target: 64Bit
- Wohnort: Wien
Re: heaptrc und Konsolenanwendung
Danke, das schaut ja noch besser aus 
