メモリリークの検出 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.