Ceci est une ancienne révision du document !


HeapTrc et gestion de la mémoire

HeapTrc permet de détecter des éventuelles “fuites” de mémoire lors du débuggage.

Activation

Dans Options pour le Projet, partie Débogage, cocher la case Utiliser l'unité HeapTrc

Résultat

A la fin de l'execution du programme on obtient une fenetre de ce style O unfreed memory blocks : 0 = OK tout va bien !

Améliorations

Afficher que si il y a des erreurs

Si vous ne voulez pas voir la fenêtre de sortie quand tout va bien, juste quand il y a des erreurs, il vous faudra mettre ce bout de code dans le fichier .lpr de votre projet

  {$if declared(useHeapTrace)}
  	globalSkipIfNoLeaks := true;
  {$endIf}

Vue d'ensemble :

MonProg.lpr
program MonProg;
 
{$mode objfpc}{$H+}
 
uses
 {$IFDEF UNIX}
 {$IFDEF UseCThreads}
  cthreads,
 {$ENDIF}
 {$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms,
  uMainForm;
 
{$R *.res}
 
begin
  {$if declared(useHeapTrace)}
  	globalSkipIfNoLeaks := true;
  {$endIf}
  RequireDerivedFormResource := True;
  Application.Scaled := True;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.                 

Voir aussi

Vous pourriez laisser un commentaire si vous étiez connecté.