Existe-t-il un outil (gratuit si possible) pour rechercher
les fuites mémoire pour un programme développé
sous VisualC++ .NET
(le projet utilise les MFC).
Merci
Existe-t-il un outil (gratuit si possible) pour rechercher
les fuites mémoire pour un programme développé
sous VisualC++ .NET
(le projet utilise les MFC).
Merci
non cette question a déjà été posée il me semble .
Hormis BoundsChecker de Numega véritable outil pro et onéreux il n'ya pas d'autres outils.
Peut-être sur http://sourceforge.net à tout hasard...
Si tu veux détecter des fuites de mémoire dans une application MFC, tu peux utiliser des objets de la classe CMemoryState.
J'ai récupéré ceci dans la librairie MSDN
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // example for CMemoryState::CMemoryState // Includes all CMemoryState functions CMemoryState msOld, msNew, msDif; msOld.Checkpoint(); CAge* page1 = new CAge( 21 ); CAge* page2 = new CAge( 22 ); msOld.DumpAllObjectsSince(); msNew.Checkpoint(); msDif.Difference( msOld, msNew ); msDif.DumpStatistics(); The results from this program are as follows: Dumping objects -> {2} a CObject at $190A {1} a CObject at $18EA Object dump complete. 0 bytes in 0 Free Blocks 8 bytes in 2 Object Blocks 0 bytes in 0 Non-Object Blocks Largest number used: 8 bytes Total allocations: 8 bytes
Dans Visual Studio .NET 2003, il suffit de lancer le programme MFC (j'ai pas essaye pour le reste) a l'aide de la commande Démarrer (F5).
S'il ya des fuites de memoires, le programme les indiquent dans la fentres de sortie.
Ca n'indique que les fuites de memoires, ca ne dit pas (clairement en tout cas) d'ou cela provient. Mais c'est un debut...
personnellement j'utilise le dump qui est integre automatiquement au app MFC s'il y a une fuite elle sera detecte si a la fin d'un lancement de l'app en mode debuggage pas a pas
Partager