2010-08-16 9 views
2

J'ai un module partagé Delphi Apache. La classe de base est TWebModule. Je peux l'exécuter en utilisant le débogueur en spécifiant les paramètres suivants:Détection de fuites de mémoire TWebModule

Application Hôte: C: \ Program Files \ Apache Software Foundation \ Apache2.2 \ bin \ httpd.exe

Paramètres: - X -w -f "C: \ Programmes \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf"

Je crois que je peux avoir une fuite de mémoire quelque part dans mon code. J'ai essayé à la fois EurekaLog et FastMM, mais je n'ai pas réussi à les faire détecter de fuites, et encore moins à faire une journalisation utile. Pour FastMM, j'ai défini FullDebugMode. Mais quand je cours, aucun fichier journal n'est créé. J'ai utilisé avec succès le journal Eureka pour détecter les fuites pour les applications Win32. Mais l'intégration avec Apache s'est avérée très difficile. Est-ce que n'importe qui peut offrir des stratégies/outils pour suivre les fuites de mémoire pour un objet partagé dynamique Apache?

+2

Expérimenté plus avec EurekaLog. Au lieu de l'exécuter à partir du débogueur, j'ai démarré Apache à partir du panneau de contrôle. Et dans mes options Eureka, j'ai spécifié l'emplacement du fichier journal. Et cela a fonctionné. –

Répondre

2

Pour FastMM4, vous devez vous assurer que vous avez défini aussi:

{$define LogMemoryLeakDetailToFile} 
{$define EnableMemoryLeakReporting} 

Je voudrais aussi essayer sans que l'IDE ou débogueur être présents:

{.$define RequireIDEPresenceForLeakReporting} 
{.$define RequireDebuggerPresenceForLeakReporting} 

Assurez-vous aussi avoir les informations de débogage allumé ou désactivé:

{.$define RequireDebugInfoForLeakReporting}