Memory Leaks in MemoryManager Yes engine
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 :
Code:
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 |
le probleme et que la std pour détruire les objets (map, ofstream, stack) appartenant a memorymanager, appelle les surdefinition de new et 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
Code:
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();
} |
les memory leaks
Code:
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. |
Merci