Fuites memoires

Fuites memoires - C++ - Programmation

Marsh Posté le 22-11-2002 à 15:46:08    

peut on on voir avec visualc++ les new et les delete qui ont ete fait ??? jdit ca parce que malgre tout mes efforts je suis pas a 100% sur que tout est bien desalloue (surtout lorsque le programme qui anormalement)

Reply

Marsh Posté le 22-11-2002 à 15:46:08   

Reply

Marsh Posté le 22-11-2002 à 15:47:19    

Il existe pas mal d'outils pour faire ça (et plus encore). Je pense notamment à rational purify, ou bound checkers.
 
En gratuit, j'utilise valgrind, mais il ne fonctionne que sous linux x86.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 22-11-2002 à 15:59:21    

kadreg a écrit a écrit :

Il existe pas mal d'outils pour faire ça (et plus encore). Je pense notamment à rational purify, ou bound checkers.
 
En gratuit, j'utilise valgrind, mais il ne fonctionne que sous linux x86.




 
 :(

Reply

Marsh Posté le 22-11-2002 à 16:00:45    

red faction a écrit a écrit :

 
 :(  




 
<vendredi>t'a qu'a coder sous de vrais systèmes</vendredi>  :whistle:
 
PS: il me semble qu'il y a un truc en débug qui permet d'obtenir à la fin de l'execution la liste des objet encore en mémoire, sauf qu'ils doivent dériver de CObject si ma mémoire est bonne. On risque de rater une bonne partie des fuites.


Message édité par kadreg le 22-11-2002 à 16:02:10

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 22-11-2002 à 16:12:44    

contre les fuites de mémoire, il faut manger beaucoup de poisson

Reply

Marsh Posté le 22-11-2002 à 16:27:51    

y a memprof sous linux aussi


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 22-11-2002 à 20:00:43    

kadreg a écrit a écrit :

 
 
<vendredi>t'a qu'a coder sous de vrais systèmes</vendredi>  :whistle:
 
PS: il me semble qu'il y a un truc en débug qui permet d'obtenir à la fin de l'execution la liste des objet encore en mémoire, sauf qu'ils doivent dériver de CObject si ma mémoire est bonne. On risque de rater une bonne partie des fuites.




Non je pense pas il m'a deja dumpé des objets fait maisons et donc pas hérités de CObject.
Par contre je me rappelle plus les noms, mais il y a des classes MFC qui permettent de monitorer l'etat de la memoire à differents endroits du programme.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 22-11-2002 à 20:34:55    

Pour trouver les fuites mémoire, il te faut un GarbageCollector !
 
Ca a l'air de rien mais ca fait un bon outil pour ça. Il me semble que Mozilla utilise BoehmGC de cette façon.

Reply

Marsh Posté le 22-11-2002 à 20:57:07    

Kristoph a écrit a écrit :

Pour trouver les fuites mémoire, il te faut un GarbageCollector !
 
Ca a l'air de rien mais ca fait un bon outil pour ça. Il me semble que Mozilla utilise BoehmGC de cette façon.




 
t'as pas plus lourd.
 
c'est pour quel type d'application?
 
sinon tu peux utiliser les auto_ptr.
 
et puis si tu as tant de d'allocation dynamique c'est que tu n'utilises pas assez STL


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 24-11-2002 à 11:26:39    

la crt de debug fait ca.
 
les fonctions d'allocations sont remplacees par des methodes qui font du tracking -> cf la doc microsoft vc++
 
Sinon tu peux surcharger tes operateurs d'allocation, il y a des exemples dans des bouquins (Game programming gems 2 je crois notamment). Mais a prendre avec un grain de sel suivant ton environnement de developpement bien sur :)
 
A+
LeGreg


---------------
voxel terrain render engine | animation mentor
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed