2009-07-15 6 views
16

Je l'ai remarqué dans le post suivant que vous pouvez obtenir une trace de la pile de FastMM pour montrer ce qui semble être où un objet a été attribué:Comment obtenir une trace de la pile de FastMM

How to track down tricky memory leak with fastMM?

Cependant, je ne trouve aucune information sur la façon de l'activer dans Delphi 2009.

J'ai défini ReportMemoryLeaksOnShutdown à true pour obtenir le rapport de base, mais comment puis-je obtenir le rapport de trace de la pile?

Répondre

39

La version Delphi interne de FastMM ne prend pas en charge les traces de pile.

Si vous voulez enregistrer les traces de la pile de fuite de mémoire, vous devez:

  • télécharger la version complète du FastMM library

  • inclure comme la première unité dans votre projet:

    program YourProject; 
    
    uses 
        FastMM4, // <-- 
        SysUtils, 
        Forms, 
        ... 
    
  • activez l'option FullDebugMode dans FastMM4Options.inc

  • mis fichier Carte- détaillée dans les options du projet de liaison (les FastMM_FullDebugMode.dll de processus le fichier .map)

  • ajouter le FastMM_FullDebugMode.dll dans votre répertoire binaire (ou Windows System32)

+1

FastMM_FullDebugMode.dll peut également être stocké dans le répertoire système de Windows. – gabr

+2

sur mes fenêtres 64 bits, je devais le copier à: 'C: \ Windows \ SysWOW64' –

5

Vous pouvez également vérifier FastMM4 programme Option de réglage de Jeremy Nord. C'est juste un peu plus facile que d'éditer directement le fichier inc. FastMM4Options.inc. Voici le lien:

FastMM4 Options Interface Blog Post

5

En outre, François Gaillard présenté sur CodeRage II une séance intitulée La lutte contre les fuites de mémoire pour les nuls et traite spécifiquement FastMM. Il est répertorié sous les replays CodeRage II au jeudi 29 novembre 2007, de 9h45 à 10h45.

http://edn.embarcadero.com/article/37498

Cordialement, Erwin

Questions connexes