Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : fuite de mémoire [ Windows / MFC ] (pozzato58)

jeudi 27 mars 2008 à 16:44:03 | fuite de mémoire

pozzato58

Bonjour,
J'ai un petit souci de fuite de mémoire.
Le debbuger m'indique :

Detected memory leaks!
Dumping objects ->
{103} client block at 0x003E7EE0, subtype c0, 216 bytes long.
a CDialog object at $003E7EE0, 216 bytes long
Object dump complete.

J'ai trouvé de qu'elle fenêtre vient le problème mais je n'ai pas réussi à le résoudre

En faite j'ai une fenetre principale où j'ai un bouton pour ouvrir une fenêtre fille avec l'instruction suivante :

MyFenetreAnalyse = new CFenetreAnalyse(this);
MyFenetreAnalyse->Create(IDD_FENETREANALYSE_DIALOG,this);
HFenetreAnalyse = MyFenetreAnalyse->m_hWnd;
FenetreAnalyse = TRUE;
MyFenetreAnalyse->ShowWindow(TRUE);

Puis sur la fenetre fille j'ai un bouton quitter ou je désalloue tout les éléments de la classe :

CHeartLearningDlg * MyFenetrePrincipale = new CHeartLearningDlg();
MyFenetrePrincipale = (CHeartLearningDlg *) this->GetParent();
MyFenetrePrincipale->SetFenetreAnalyse(FALSE);
this->DestroyWindow();
delete this;

J'ai recherché un moment la mémoire que je ne libère pas et en faite l'adresse de la fuite est lié au this ci-dessus car l'adresse est :
this : 0x003E7CA0 alors que la fuite est indiqué en 0x003E7EE0

J'ai donc inclus un delete this lorsque je détruit mas fenetre mais le résultat est identique

Si vous pouviez m'aider svp

jeudi 27 mars 2008 à 21:36:32 | Re : fuite de mémoire

vecchio56

Administrateur CodeS-SourceS
"l'adresse de la fuite est lié au this ci-dessus"

Ben non justement, il faudrait que ce soit la même adresse

_____________________________________
Un éditeur de ressources gratuit pour Windows


vendredi 28 mars 2008 à 11:23:59 | Re : fuite de mémoire

luhtor

Ou une adresse proche, ce qui n'est pas le cas.

vendredi 28 mars 2008 à 11:27:17 | Re : fuite de mémoire

luhtor

C'est quoi le gestionnaire mémoire qui te fournit les fuites mémoires ?
Tu peux peut etre remodifier l'opérateur new/delete pour demander d'afficher la ligne de l'allocation.

vendredi 28 mars 2008 à 14:56:44 | Re : fuite de mémoire

pozzato58

this : 0x003E7CA0 alors que la fuite est indiqué en 0x003E7EE0

{103} client block at 0x003E7EE0, subtype c0,

Après avoir lu ces lignes, je pensais que les deux adresses étaient liées?

Sinon j'utilise tout ce qui est par défaut dans visual studio.

vendredi 28 mars 2008 à 17:33:32 | Re : fuite de mémoire

luhtor

Peut etre, mais il s'agit d'une grosse classe alors.

vendredi 28 mars 2008 à 18:31:08 | Re : fuite de mémoire

vecchio56

Administrateur CodeS-SourceS
C'est pas compliqué, tu regardes sizeof(TaClasse) et tu regardes si c'est dedans. Mais dans tous les cas c'est pas l'objet lui-même qui n'est pas bien libéré, mais un des attributs de ta classe (sinon ca serait la même adresse pour this et pour la zone non libérée)

_____________________________________
Un éditeur de ressources gratuit pour Windows




Cette discussion est classé dans : fenetre, mémoire, fuite, myfenetreanalyse, cheartlearningdlg


Répondre à ce message

Sujets en rapport avec ce message

plusieur fenetre mais une seule en mémoire... [ par Xs ] Bon, voila.Quand je fais une nouvelle fenetre avec un code ressemblant a ca : hwnd = CreateDialog(...);ShowWindow(hwnd,SW_SHOW);......bon, et bien il prd de fuite mémoire. [ par gyzmo1 ] Salut à tous, dans mon programme je dois utiliser beaucoup de matrice et donc pas mal d'allocation dynamique. Je desalloue regulièrement mes tableaux( fuite mémoire [ par mamag ] Bonjour,j'ai un programme en VC++ qui fait appel à une DLL (également faite en C++).je voudrais savoir comment faire pour détecter une fuite mémoire d fuite mémoire [ par mamag ] j'avais une fuite mémoire et je l'ai détectée en ajoutant en début de programme ceci:#include et en faisant tourner l'appli en mode debug, avec cette Win32 affichage graphique fuite mémoire [ par _Jonathan ] Bonjour a tous,j'ai fait une petite application affichant un graphique. Mais lorsque je le lance, le programme me bouffe toutes les ressources sous wi fuite de mémoire en C++ sous linux [ par vaniweb ] J'ai vu un code simple pour détecter les fuites de mémoire en C: http://www.cppfrance.com/codes/LIBRAIRIE-EVITER-FUITES-MEMOIRES_45136.aspxIl y a t-il Fuite mémoire C++ Builder [ par BernieNoel68 ] Bonjour!Je suis un petit nouveau sous C++ Builder, en sachant qu'avant j'étais sous Delphi.Existe t'il un moyen simple a mettre en oeuvre sous C++ Bui Fuite de mémoire avec std::list [ par vecchio56 ] Bonjour, J'ai un pb de fuite avec std::list, sous VC++ 7.1 J'ai ce problème seulement quand mon objet est global, ou bien local dans main Voila un cod fuite de mémoire [ par mamag ] Bonjour, j'ai réalisé une DLL en C++, en utilisant la librairie ADO, la DLL semble fonctionner mais apparemment, j'ai une fuite mémoire et je ne vois Fenetre internet explorer invisible?? [ par thunderfear ] Bonjour tlmd,J'aimerai faire un programme qui lance une fenetre internet explorer mais en invisible.Au debut j'ai essayer de cette manière:  ShellExec


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.