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
Citation:
User breakpoint called from code at 0x7c911230
Version imprimable
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
Citation:
User breakpoint called from code at 0x7c911230
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.
je doit faire quoi pour le virer ce message?
bas le problème c que je suis plus dans mon programme
tu dois avoir un point d'arrêt quelque part que le compilateur à ajouter à ton code...
si c'est juste un point d'arret pourquoi mon prog plante par la suite ?
de plus j'ai le même message quand je quit mon soft en mode debug:?
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:?Citation:
Envoyé par Swoög
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
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
http://img99.imageshack.us/img99/9059/message6gx.jpg
Nopn, là c'est plus clair, tu dois sans doute effacer 2 fois le même objet - vive les pointeurs intelligents !
comment je peux savoir que je le supprime plusieur fois
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é...
j'appuye sur Recommencer mais ou est la "Call Stack"Citation:
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é...
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)
Chez moi, c'est en bas à droite, dans le tab window.
je sous visual studio 6 mais je trouve pas ou est mon erreur:?
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.
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
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?Code:CMere MaVariable = new CFille1();
si le destructeur est virtuel, tu passes par tous.