Bonjour a tous !!!!, J'ai un petit soucis de memory leaks. J'ai repris le memory manager du yes engine et la classe memoryManager genere des leaks.
Au momment de la destruction de MemoryManager il doit détruire :
le probleme et que la std pour détruire les objets (map, ofstream, stack) appartenant a memorymanager, appelle les surdefinition de new et delete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::map<void*, Block> // stock les pointeur d'objet alloué std::ofstream // le fichier de sorti std::stack<Block> // stock tout les appel a delete
ce qui entraine un appelle a la fonction free de MemoryManager alors que l'on est dans le destructeur de memorymanager.
j'ai creer un projet avec un main basique avec le memorymanager et les surdefinition de new et delete du yes engine. il y a juste le main qui est de moi.
main.cpp
les memory leaks
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <crtdbg.h> #include "DebugNew.h" void main() { int*p =new int; delete p; _CrtDumpMemoryLeaks(); }
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Detected memory leaks! Dumping objects -> {162} normal block at 0x00327BE0, 40 bytes long. Data: < |2 > CC CC CC CC CD CD CD CD 00 7C 32 00 CD CD CD CD {161} normal block at 0x00327B80, 32 bytes long. Data: < {2 > E0 7B 32 00 00 00 00 00 00 00 00 00 00 00 00 00 {136} normal block at 0x003266F8, 60 bytes long. Data: < f2 f2 f2 > F8 66 32 00 F8 66 32 00 F8 66 32 00 CD CD CD CD Object dump complete.
Partager