heaptrc und Konsolenanwendung

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

heaptrc und Konsolenanwendung

Beitragvon braunbär » 20. Dez 2018, 04:10 heaptrc und Konsolenanwendung

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?
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 17:21

Beitragvon af0815 » 20. Dez 2018, 06:49 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).
af0815
 
Beiträge: 3693
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon braunbär » 20. Dez 2018, 11:52 Re: heaptrc und Konsolenanwendung

Danke für den Hinweis, habe es gefunden: Mit dem Befehl
Code: Alles auswählen
SetHeapTraceOutput('Heap.log'); 

werd diese Informationen ins file heap.Log geschrieben.
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 17:21

Beitragvon af0815 » 20. Dez 2018, 12:39 Re: heaptrc und Konsolenanwendung

Hier mein Snippet
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...');
 


Das steht bei mir am Anfang in der .lpr Datei drinnen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3693
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon braunbär » 20. Dez 2018, 16:16 Re: heaptrc und Konsolenanwendung

Danke, das schaut ja noch besser aus :)
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 17:21

• Themenende •

Zurück zu Freepascal



Wer ist online?

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

porpoises-institution
accuracy-worried