Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre régulier

    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2003
    Messages : 88
    Points : 79
    Points
    79
    Par défaut J'ai un message lors de la fermeture de mon appli : Fuite mémoire inattendue
    Bonjour à tous,
    Bon, je suis confronté au message suivant quand je termine mon appli compilée sous Delphi 10.2.3
    Nom : Capture.JPG
Affichages : 149
Taille : 26,9 Ko
    Je ne sais pas comment lire ce message ... j'ai juste compris qu'il y avait des fuites mais ...

    Si vous pouvez m'aider ...
    Merci beaucoup
    Delphi 10.2 - Lazarus
    Utilisation de la VCL

  2. #2
    Membre émérite
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    mars 2005
    Messages
    1 458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2005
    Messages : 1 458
    Points : 2 625
    Points
    2 625
    Par défaut
    Cela signifie qu'a un moment tu créées un TBrush et autres objet que tu ne libères pas.

  3. #3
    Membre régulier

    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2003
    Messages : 88
    Points : 79
    Points
    79
    Par défaut
    J'ai fais le tour des .Create ... je n'ai pas créé de TBrush, ni de TPen ... les seules créations sont des StringGrid, des FicIni, des TFileListBox, des TTabSheet, des Tmouse.
    Aie aie aie ...
    Delphi 10.2 - Lazarus
    Utilisation de la VCL

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 4 893
    Points : 10 558
    Points
    10 558
    Par défaut
    Il faut toujours prendre les fuites mémoires à la sortie du programme avec un certain recul. Simplement parce que la mémoire du processus sera entièrement libérée à sa terminaison (l'OS s'en charge).

    Par contre, si après plusieurs tests sur la durée (principalement des apps tournant 24/24) ces fuites fluctuent/augmentent, là il y a un problème à corriger impérativement.

    Ici les fuites sont liées. Il y a une ImageList qui manifestement ne peut pas (ou n'a pas) être libérée correctement (VA dans un destructeur ou allouée dynamiquement sans être proprement libérée ? A voir)
    Si l'ImageList ne peut pas être libérée, le bitmap qu'elle contient ne l'est pas non plus, ni le canvas de ce dernier, ni sa police, ni sa brosse, ni son pinceau. C'est la cascade !

    Intéresse-toi à cette ImageList et tous les problèmes seront résolus d'un coup

  5. #5
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    avril 2002
    Messages
    1 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : avril 2002
    Messages : 1 381
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour,

    Je pense que si cette boite de dialogue s'affiche à la fermeture de l'application c'est parce que l'option ReportMemoryLeaksOnShutdown a été activé.
    Du coup le plus simple est de coupler ça avec FastMM pour récupérer plus d'informations sur ces fuites de mémoires.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    7 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 7 534
    Points : 24 880
    Points
    24 880
    Par défaut
    madExcept est aussi très bien foutu pour identifier les fuites de mémoire
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre régulier

    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2003
    Messages : 88
    Points : 79
    Points
    79
    Par défaut
    Je clos le sujet, j'ai trouvé, non pas la solution, mais ...
    Je déployais mon logiciel en mode débogage, quand je l'ai passé en Release, terminé, plus de message lié à la fuite de mémoire.
    Delphi 10.2 - Lazarus
    Utilisation de la VCL

  8. #8
    Membre régulier Avatar de oneDev
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2019
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : mars 2019
    Messages : 69
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    madExcept est aussi très bien foutu pour identifier les fuites de mémoire
    C'est également la méthode que j'utilise pour identifier et corriger les fuites mémoires.
    J'ai passé plusieurs semaines sur une grosse appli à supprimer ces fuites mémoires, c'est parfois un vrai casse-tête !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message lors de la fermeture brutale d'une application
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/09/2010, 10h50
  2. Message Box a la fermeture de l'appli
    Par kazylax dans le forum VB.NET
    Réponses: 16
    Dernier message: 07/03/2008, 17h43
  3. Message lors de la fermeture d'un formulaire
    Par zouloute dans le forum IHM
    Réponses: 8
    Dernier message: 15/02/2008, 17h57
  4. Problème lors de la fermeture de mon MsRdpClient
    Par seb.49 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/01/2008, 09h47
  5. [EasyPHP] Pb lors de la fermeture de mon application avec ou sans fermeture de Easy Php
    Par Lolie11 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/06/2007, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo