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

 C Discussion :

Détecter les fuites de mémoire sous Windows


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Détecter les fuites de mémoire sous Windows
    Bonjour,

    Je développe sous Windows et comme mon programme commence à avoir une certaine taille, détecter les fuites de mémoire à la main devient difficile.

    En cherchant un équivalent à Valgrind pour Windows, je suis tombé sur Winleak. Seulement, je n'arrive pas à interpréter le rapport qu'il produit, voici un extrait :

    Created by MemoryHooks
    ----------------------
    Dumping leaks from 10 heaviest stacks

    ------------------------------------------------

    Stack #1, total leak size: 24
    call stack:
    0x766fa171 --> [msvcrt] malloc
    0x0029285c --> [libxml2] xmlNewNs
    0x0251baed --> [libxml2]
    0x00746e65 --> [libxml2]

    Allocation size = 24:..10-11-24 13:05:09.r...
    ------------------------------------------------

    Stack #2, total leak size: 60
    call stack:
    0x766fa171 --> [msvcrt] malloc
    0x681294a6 --> [SDL] SDL_CreateRGBSurface
    0x62e42fd6 --> [SDL_image] IMG_isGIF
    0x62e434c3 --> [SDL_image] IMG_LoadGIF_RW
    0x62e41391 --> [SDL_image] IMG_LoadTyped_RW
    0x62e41470 --> [SDL_image] IMG_Load
    0x0040845a --> [Montre C]
    0x0040914b --> [Montre C]
    0x00409208 --> [Montre C]
    0x00408ad6 --> [Montre C]
    0x004010b6 --> [Montre C]
    0x00401128 --> [Montre C]
    0x76413823 --> [kernel32] BaseThreadInitThunk
    0x7771a9bd --> [ntdll] LdrInitializeThunk
    0x00000000 --> [ntdll]

    Allocation size = 60:...K...T...P...gC.k...
    ------------------------------------------------

    Stack #3, total leak size: 256
    call stack:
    0x766fa171 --> [msvcrt] malloc
    0x6812964f --> [SDL] SDL_CreateRGBSurface
    0x62e42fd6 --> [SDL_image] IMG_isGIF
    0x62e434c3 --> [SDL_image] IMG_LoadGIF_RW
    0x62e41391 --> [SDL_image] IMG_LoadTyped_RW
    0x62e41470 --> [SDL_image] IMG_Load
    0x0040845a --> [Montre C]
    0x0040914b --> [Montre C]
    0x00409208 --> [Montre C]
    0x00408ad6 --> [Montre C]
    0x004010b6 --> [Montre C]
    0x00401128 --> [Montre C]
    0x76413823 --> [kernel32] BaseThreadInitThunk
    0x7771a9bd --> [ntdll] LdrInitializeThunk
    0x00000000 --> [ntdll]
    J'ai des fuites sur des images, OK, mais lesquelles ?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 936
    Points : 220 942
    Points
    220 942
    Billets dans le blog
    129
    Par défaut
    Bonjour,

    Je ne connaissais pas WinLeaks.

    0x681294a6 --> [SDL] SDL_CreateRGBSurface
    Je dirais, il manque un SDL_FreeSurface().

    Sinon, valgrind a l'avantage (en mode debug) d'afficher les lignes et les fichiers là ou apparaisse les fuites ...

Discussions similaires

  1. Tutoriel sur les fuites de mémoire sous Android
    Par Feanorin dans le forum Android
    Réponses: 3
    Dernier message: 09/04/2016, 15h59
  2. comment détecter les fuites mémoires
    Par cyrille37 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 26/04/2008, 16h12
  3. Comme intercepter les fuites de mémoire sous VS?
    Par Gabrielly dans le forum Visual C++
    Réponses: 4
    Dernier message: 18/09/2006, 21h57
  4. (Bash) Emuler les Bash de Linux sous Windows
    Par Furius dans le forum Windows
    Réponses: 16
    Dernier message: 26/10/2005, 21h28
  5. Réponses: 8
    Dernier message: 17/10/2002, 13h52

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