開発していて気づいたこと、問題になったことを記憶。
以下のマクロを *.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();
をコールしておく。
こうすると、メモリリーク情報がダンプされる。