J'ai ajouté ce qui suit à la fin de mon principal et je reçois le rapport de fuite de mémoire, mais il n'y a pas de point de rupture créé montrant où la fuite se produit dans mon code lorsque je l'exécute en mode débogage. J'utilise VS C++ 2010 express. Y at-il quelque chose que je fais mal ou quelque chose qui ne va pas avec le code que j'ai ajouté. Je peux poster plus de code s'il serait utile.Comment trouver où la fuite de mémoire est?
#ifdef _WIN32
if (_CrtDumpMemoryLeaks()) {
cout << "Memory leaks!" << endl;
}
#endif
#ifdef _DEBUG
int flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
flag |= _CRTDBG_LEAK_CHECK_DF; // Turn on leak-checking bit
_CrtSetDbgFlag(flag);
_CrtSetBreakAlloc(427);
#endif
Si votre code est compilable sur Linux, essayez [valgrind] (http://valgrind.org/) sur Linux .... –
Essayez VLD - https://vld.codeplex.com/ –