VC++でメモリリークの検出 †MFC のメモリリーク検出 †以下のマクロを *.cpp の先頭に記述する。 #ifdef __AFX_H__ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #endif または、こう。 #include <crtdbg.h> #define _CRTDBG_MAP_ALLOC #define new ::new(_NORMAL_BLOCK, __FILE__, __LINE__) これをヘッダーに書いておいて、プログラムの先頭(main() の頭とか)で、 _CrtDumpMemoryLeaks(); をコールしておく。 こうすると、メモリリーク情報がダンプされる。 |