IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Visual C++ Discussion :

Détection et résolution de fuites mémoire


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut Détection et résolution de fuites mémoire
    Salut,

    j'ai un petit soucis avec une application C++ que je développe sous VS2008.
    Cela fait déjà un certain temps que le debugger ne me fait plus remonter de fuites mémoire, cependant si je surveille le processus de mon appli dans le gestionnaire des tâches je constate que la taille de la mémoire qu'il utilise ne fait quasi qu'augmenter avec l'utilisation qu'on en fait. Si cette taille devient réellement importante l'application va même rencontrer des problèmes de performances ...

    Voici donc ma question : comment (outils ? je ne sais quoi ...) détecter ces fuites et y remedier ?

    Merci d'avance.

    PS :
    il y a aussi un truc très comique, si je minimise l'application à l'aide du bouton système qui sert à ça, alors je récupère directement la mémoire perdue (et même plus ) et même après une restauration de la fenêtre ça ne remonte pas (sauf si j'utilise l'appli "normalement"). Plus précisement mon .exe utilise moins de mémoire (par exemple de l'ordre de 80mo avant, et 4mo après ....) cependant la charge totale de mémoire utilisée par l'ensemble des processus reste inchangé ?!?

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Il n'y a pas des outils avec Visual C++ Pro ? Après les outils sous Windows sont en général payants. Je n'en connais pas de gratuit.
    Attention, la mémoire libérée par un processus peut ne pas être récupérée tout de suite par le système. Elle est juste marquée comme dispo. La récupération a lieu quand le système en a besoin ou quand il juge qu'il est temps de le faire. Cela peut expliquer les variations que tu observes.

  3. #3
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    La montée en charge ne me dérangerait à la limite pas si elle ne s'accompagnait pas du perte drastique de performances

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 482
    Par défaut
    Pour les performances, utilisez le profiler.

    Pour le tracking mémoire, utilisez _CrtSetDbgFlag.
    http://msdn.microsoft.com/en-us/libr...h3(VS.80).aspx

  5. #5
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Aucun résultat ...


    Merci quand même

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Est-ce du C++ managé ?

    J'ai eu le problème il y a longtemps (sur la version 2003 je pense) d'un garbage collector qui n'était appelé que lors de la réduction du programme.

    Une solution consistait à limiter la durée de vie de certains objets manuellement.

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

Discussions similaires

  1. [C++] Logiciel détection fuite mémoire pour Windows
    Par Aspic dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 10/12/2010, 18h49
  2. Outil détection fuite mémoire et autre
    Par coolzy dans le forum Visual Studio
    Réponses: 0
    Dernier message: 14/09/2010, 18h07
  3. Détection de fuites mémoires
    Par atm0sfe4r dans le forum C++/CLI
    Réponses: 0
    Dernier message: 17/04/2009, 17h13
  4. Détection de fuites mémoire avec Valgrind
    Par dj.motte dans le forum GTK+ avec C & C++
    Réponses: 25
    Dernier message: 22/11/2008, 08h49

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