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++

  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 504
    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 504
    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.

  7. #7
    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
    Est-ce du C++ manag� ?
    je programme en C++ natif donc j'ai bien envie de te dire non
    En effet je n'utilise pas .NET, donc pas de GC.

  8. #8
    R�dacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur s�curit� informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chercheur s�curit� informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par d�faut
    Hello,

    Windbg + gflags + umdh + ApplicationVerifier

    C'est ce que j'utilise au boulot.

    Windbg, Gflags et Umdh font partis des "debugging tools". On pourrait aussi ajouter les "performance counters" int�gr�s � Windows. Le tout est assez difficile � prendre en main mais �a vaut vraiment le coup. Umdh est utile pour trouver les mem leaks, m�me si c'est une entreprise difficile...

    Voir aussi "Preventing Memory Leaks in Windows Applications":
    http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

  9. #9
    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
    Merci pour tes liens, je vais regarder �a et je vous tiens au courant.


+ 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