更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
![]() |
![]() |
ネイティブのみ |
![]() |
Standard |
![]() |
![]() |
ネイティブのみ |
![]() |
Pro/Team |
![]() |
![]() |
ネイティブのみ |
![]() |
表の凡例 :
![]() |
対象 |
![]() |
該当なし |
![]() |
既定で非表示のコマンド |
「メモリ リーク検出の有効化」で説明されているように、メモリ リーク情報では、リークしたメモリの各ブロックが normal ブロック、client ブロック、または CRT ブロックとして識別されます。通常、情報として表示される型は、normal ブロック型と client ブロック型だけです。
normal ブロックは、プログラムによって割り当てられる通常のメモリです。
client ブロックは、デストラクタを必要とするオブジェクト用に、MFC プログラムが使用する特殊なメモリ ブロックです。MFC の new 演算は、作成されるオブジェクトに応じて、normal ブロックまたは client ブロックを作成します。
CRT ブロックは、CRT ライブラリが独自に使用するために割り当てるメモリ ブロックです。これらのブロックの解放処理は CRT ライブラリが行うため、重大な問題 (CRT ライブラリの破損など) があるとき以外は、CRT ブロックがメモリ リーク レポートに表示されることはありません。
ほかにも、メモリ リーク情報には表示されないブロック型が 2 つあります。
free ブロックは、解放済みのメモリ ブロックです。
ignore ブロックは、メモリ リーク レポートに出力しないように明確にマークされているブロックです。