CRT デバッグ ヒープ
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
ネイティブのみ |
|||
Standard |
ネイティブのみ |
|||
Pro/Team |
ネイティブのみ |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
ここでは、CRT デバッグ ヒープについて詳しく解説します。
このセクションの内容
メモリ管理とデバッグ ヒープ
ヒープ関数のデバッグ バージョンについて説明します。これらの関数により、割り当てたバッファの末尾を超えた書き込みと、メモリ リーク (不要になったメモリ割り当てを解放し忘れること) という、メモリ割り当てにおいて最も困難な 2 つの問題が解決されます。デバッグ ヒープ上のメモリ ブロックの型
デバッグ ヒープでメモリ ブロックの割り当てに適用される 5 つの型について説明します。割り当ての型によって、メモリ リークの検出やメモリ状態をレポートするときの追跡方法やレポート方法が異なります。デバッグ ヒープ
デバッグ ヒープの使用法について説明します。デバッグ バージョンに置き換えられる呼び出し、メモリ ブロック解放の影響、コードの中からアクセスする必要のあるデバッグ機能、_crtDbgFlag ビット フィールドを変更してフラグの新しい状態を作成する手順、メモリ リークの自動検出をオンにして _CRT_BLOCK 型のブロックに関するチェックをオフにするコード例などを扱います。C++ でのデバッグ ヒープ
C++ の new 演算子および delete 演算子のデバッグ バージョンと、_CRTDBG_MAP_ALLOC を使用する場合の影響について説明します。ヒープの状態をレポートする関数
_CrtMemState 構造体について説明します。これを使うと、ヒープの状態のスナップショットを取得できます。また、ヒープの状態と内容をレポートしたり、その情報を利用してメモリ リークやその他の問題を検出したりするための CRT 関数についても説明します。ヒープ割り当て要求の追跡
不正となるヒープ割り当て呼び出しを特定する方法について説明します。
関連するセクション
- CRT のデバッグ技術
CRT デバッグ ライブラリの使用、レポート用マクロ、malloc と _malloc_dbg の相違、デバッグ用フック関数の作成、CRT デバッグ ヒープなど、C ランタイム ライブラリのデバッグ手法について説明するリンクを提供します。