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 :

[C++] problème de fuite mémoire


Sujet :

C++

  1. #1
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut [C++] problème de fuite mémoire
    apparament j'ai des fuites mémoires mais je suis pas sure car je les trouve pas

    car au moment de l'appel du destructeur de ma classe j'ai ce message qui apparais

    User breakpoint called from code at 0x7c911230

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Aucun rapport avec des fuites mémoires, il y a juste marqué qu'il a atteint un breakpoint que tu as placé par le passé à cet endroit. Rien d'exceptionnel.

  3. #3
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    je doit faire quoi pour le virer ce message?

    bas le problème c que je suis plus dans mon programme

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu dois avoir un point d'arrêt quelque part que le compilateur à ajouter à ton code...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    si c'est juste un point d'arret pourquoi mon prog plante par la suite ?

  6. #6
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    de plus j'ai le même message quand je quit mon soft en mode debug

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    parce que tu as du compiler avec les informations de débuggage et qu'au moment où il rencontre le point d'arret le programme s'arrette, j'ignore d'où peut provenir le comportement, mais le message d'erreur semble correspondre à ça [même si en théorie, seul un débuggueur peut interprété les point d'arrêts...]
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Swoög
    parce que tu as du compiler avec les informations de débuggage et qu'au moment où il rencontre le point d'arret le programme s'arrette, j'ignore d'où peut provenir le comportement, mais le message d'erreur semble correspondre à ça [même si en théorie, seul un débuggueur peut interprété les point d'arrêts...]
    je comprent pas tout

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Les points d'arrêts sont uniquement des informations de débugguage, ce n'est pas censer intervenir dans l'exécution du programme excepté quand tu l'exécute dans un débuggueur.

    De plus, quand on effectue la compilation finale, on n'insère généralement pas les informations de compilations.

    L'insertion de ces informations dépend d'une option transmise au compilateur, si tu utilises un IDE, ça doit être dans les options de ton projet
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  10. #10
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    j'ai du mal m'exprimer mais c'est en mode debug que j'ai cette erreur un fois que j'ai cette erreur si je veux continuer j'ai un autre message

    celui ci

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Nopn, là c'est plus clair, tu dois sans doute effacer 2 fois le même objet - vive les pointeurs intelligents !

  12. #12
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    comment je peux savoir que je le supprime plusieur fois

  13. #13
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Cette assertion se produit quand on fait un free() sur un pointeur non-valide (généralement un pointeur déjà libéré en effet, mais ça peut être n'importe quoi d'autre (pointeur vers un objet sur la pile, etc) sauf un pointeur nul).

    Lance le programme avec F5 dans Visual, et clique sur Recommencer lorsque l'assertion apparait.
    Cherche dans la "Call Stack" (pile d'appels) dans quelle fonction t'appartenant le free() a été appelé...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    Lance le programme avec F5 dans Visual, et clique sur Recommencer lorsque l'assertion apparait.
    Cherche dans la "Call Stack" (pile d'appels) dans quelle fonction t'appartenant le free() a été appelé...
    j'appuye sur Recommencer mais ou est la "Call Stack"

  15. #15
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Cela dépend de ta version de Visual:
    Sous Visual 6, je crois que c'était une toute petite liste déroulante au-dessus de la liste de variables
    Sous Visual 2005, c'est une des debug windows (Menu Debug->Windows->Call Stack, le raccourci par défaut est Ctrl-Alt-C)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #16
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Chez moi, c'est en bas à droite, dans le tab window.

  17. #17
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    je sous visual studio 6 mais je trouve pas ou est mon erreur

  18. #18
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu sais te servir du débuggeur ou pas ?
    En tout cas, dans l'état actuel de nos connaissances de ton problème, on ne peut que te dire de regarder avec le débuggeur.

  19. #19
    Membre du Club Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 69
    Points
    69
    Par défaut
    oui je sais me servir de mon debugger

    je pense savoir d'ou ca vient mais ne sais pas comment resoudre le probleme

    dans mon programme je fait du polymorphisme, j'ai une classe mère avec des méthode virtuelle pure et des classes filles qui dérive de cette classe donc quand je créé un objet je fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CMere MaVariable = new CFille1();
    le problème c'est que ma classe mère dérive d'une autre classe j'ai donc remarquer que lorsque je construit mon objet je passe par les trois constructeur mais voila quand je fait un delete je c pas si je passe par tous les destructeurs?

  20. #20
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    si le destructeur est virtuel, tu passes par tous.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [SL3]Probléme de fuite mémoire
    Par Archeone dans le forum Silverlight
    Réponses: 5
    Dernier message: 11/03/2010, 12h04
  2. [OpenOffice][Tableur] problème de fuites mémoires
    Par sephial dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 23/11/2009, 17h26
  3. Problème de fuites mémoire
    Par Le Barde dans le forum C++
    Réponses: 12
    Dernier message: 02/09/2007, 08h49
  4. [VB6] Problème de fuite mémoire
    Par GyLes dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/03/2007, 14h58
  5. Problème de fuite mémoire sur un idFTP
    Par jeromelef dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/07/2005, 17h29

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