デバッグ用フック関数の作成

ここでは、カスタムで作成できるさまざまなデバッグ用フック関数について説明します。デバッグ用フック関数を使用すると、デバッガーが通常行う処理内部の定義済みの位置にコードを挿入できます。

このセクションの内容

  • Client ブロック用のフック関数
    _CLIENT_BLOCK に格納したデータの正当性をチェックしたり、その内容を出力したりする書き込み関数について説明し、そのプロトタイプを紹介します。

  • 割り当てフック関数
    割り当て用フック関数を定義し、そのさまざまな使用法、制限事項を紹介します。また、プロトタイプを提供します。

  • 割り当てフック関数と C ランタイムのメモリ割り当て
    メモリを内部的に割り当てる C ランタイム ライブラリ関数をフック関数から呼び出す場合、_CRT_BLOCK 型のブロックを明示的に無視するという、割り当てフック関数の制限事項について説明します。また、割り当てフック関数が _CRT_BLOCK ブロックを無視しない場合の結果を例と共に示し、既定の割り当てフック関数 CrtDefaultAllocHook を変更する方法について説明します。

  • レポート用のフック関数
    _CrtSetReportHook について説明します。このフック関数を使用して、特定の割り当て型に関するレポートだけを選び出すことができます。また、プロトタイプを説明します。

関連項目

  • CRT のデバッグ技術
    CRT デバッグ ライブラリの使用、レポート用マクロ、malloc_malloc_dbg の相違、デバッグ用フック関数の作成、CRT デバッグ ヒープなど、C ランタイム ライブラリのデバッグ手法を説明するリンクを提供します。