Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Fuites de Mémoire

Memory leaks profiling interface in Enterprise Architect

Le contrôle du profileur, affichant le nombre d'allocations de mémoire et le nombre d'opérations sans mémoire.

Example memory leak profile of well behaved progam

Un programme bien mené.

La détection des fuites de mémoire est un chemin parcouru. Bien que de nombreuses autres bonnes options soient disponibles, nous pensons que notre approche présente des avantages majeurs, tels que :

  • Aucune modification de la construction du projet existant
  • Aucun fichier d'en-tête requis par le code du projet
  • Aucune dépendance d'exécution à craindre
  • Aucune configuration système à prendre en compte

Usage

Une personne utiliserait ce mode pour suivre les fuites de mémoire dans une application ou dans une activité au sein de l'application. Une fuite de mémoire du point de vue du profileur est un appel réussi effectué à une fonction d'allocation de mémoire qui renvoie une adresse mémoire pour laquelle aucun appel correspondant n'est effectué pour libérer cette adresse.

Opération

La détection de fuite de mémoire fonctionne par accrochage. Les routines de mémoire du processus sont accrochées pour suivre le moment où la mémoire est à la fois alloué et libérée. Les piles d'appels sont capturées au point d'allocation et ces informations sont rassemblées dans Enterprise Architect pour produire un rapport sous la forme d'un Graphique d'Appel . La capture est contrôlée ; c'est-à-dire que les mécanismes d'accrochage peuvent être activés ou désactivés à la demande.

Selon le type de programme et sa consommation de mémoire, vous pouvez utiliser une stratégie appropriée. Pour les petits programmes, vous pouvez suivre le programme du début à la fin. Pour les programmes fenêtrés plus volumineux, vous feriez probablement mieux de basculer la capture avant et après une tâche spécifique pour éviter de suivre trop de données.

Résultats

Les résultats peuvent être produits à tout moment pendant la session ; cependant, la capture doit être désactivée pour que le bouton Rapport devienne actif. C'est à vous de décider pendant combien de temps vous laissez le Profiler exécuter . Vous activez le bouton Rapport en interrompant la capture ou en arrêtant complètement le profileur.

Les résultats sont affichés dans une vue Rapport . Le rapport s'ouvre initialement avec deux onglets visibles ; un seul Graphique d'Appel pondéré et un résumé des fonctions. Le Graphique d'Appel représente toutes les piles d'appels qui ont conduit à des allocations de mémoire, et sont agrégées et pondérées en fonction de la fréquence du motif.

Rapports peuvent contenir une quantité variable de « bruit ». Pour vous concentrer sur un domaine pour lequel vous avez des préoccupations spécifiques, recherchez une fonction que vous connaissez dans le rapport de synthèse et utilisez-la pour naviguer directement dans la ligne du graphique où elle est présentée.

Exigences

Pour de meilleurs résultats, l'image et ses modules doivent être construits avec les informations de débogage incluses et sans optimisations. Tout module avec l'optimisation Frame Pointer Omission (FPO) est susceptible de produire des résultats trompeurs.