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 :

Dll et detection de fuite de memoire


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Points : 563
    Points
    563
    Par défaut Dll et detection de fuite de memoire
    Bonjour,

    Je voudrais partager mon code afin de le rendre plus lisible et modulable. J4ai donc pensé au dll. Mon probleme est le suivant: lorsque je créé une application win32, si j'alloue de la memoire avec new int(5) par exemple, et que je ne desalloue pas la memoire, lors de l'execution, je vois apparaitre un message dans la fenetre du debuggeur me signalant ce probleme.

    En revanche en creant une dll, si j'alloue de la memoire dans la dll et que je ne la desalloue pas, il ne se passe "rien". Cette erreur n'est pas signalee. Y a-t-il une solution permettant de le faire ?

    D'avance merci pour vos responses,

    Nicolas Bauland

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    pourquoi ne pas désallouer la mémoire ?

  3. #3
    Membre confirmé
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Points : 563
    Points
    563
    Par défaut
    Bien sur qu'il faut desallouer la memoire ! Mais qui n'a pas deja commis des erreurs sur ce point ...

    Je voudrais juste savoir s'il est possible d'activer une verification comme dans un programme win32 (fonction _CrtSetDbgFlag) pour etre sur qu'il n'y a pas de suite au sein de la dll.

    Mais je ne sais pas trop comment faire ...

  4. #4
    Membre confirmé
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Points : 563
    Points
    563
    Par défaut
    Comme quoi, il faut parfois prendre du recul ... Apres nettoyage et recompilation, j'arrive a detecter les fuites de memoires dans la Dll...

    La solution est bien celle a laquelle je pensais, mais impossible de savoir pourquoi cela ne fonctionnait pas la premiere fois. La voici donc.
    Dans la fonction winmain, on ajoute la verification comme avec n'importe quel programme win32:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #ifdef DEBUG
    	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_CHECK_ALWAYS_DF|_CRTDBG_LEAK_CHECK_DF);
     
    #endif
    Apres n'importe quelle fuite (provenant duprogramme principal ou de la dll) sera affichee dans la fenetre de deboggage. Reste a la trouver, mais c'est deja bien de savoir ou il y en a une !!!

    Sujet clos donc. Enfin je suppose !

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 01/09/2011, 10h56
  2. [JVM]Fuite de mémoire
    Par anykeyh dans le forum Général Java
    Réponses: 6
    Dernier message: 28/09/2009, 23h43
  3. Outils pour rechercher des fuites de memoires dans un prog
    Par elekis dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 29/04/2005, 22h06
  4. fuite de memoire dans une liste de pointeur sur composant
    Par Nicolos_A dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/12/2004, 09h46
  5. correction de fuite de memoire
    Par vince3320 dans le forum C
    Réponses: 38
    Dernier message: 28/06/2004, 12h27

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