メモリリークの検出 for VC++
VC++には、newした後のdelete漏れを自動的に検出してくれる機能があります。
_crtDbgFlag フラグの状態を取得または変更して、デバッグ ヒープ マネージャの動作を制御します (デバッグ バージョンだけ)。 by MSDN
実際にはこのようにして使用することになります。
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
解放の漏れがあると、出力のウィンドウに以下のような表示が現れます。
Detected memory leaks!
Dumping objects ->
{159} normal block at 0x010E30A0, 28 bytes long.
Data: < > 01 00 00 00 00 CD CD CD 00 00 00 00 06 00 00 00
Object dump complete.