nedmalloc のデバッグ機能を使用して、コード内の潜在的なメモリ リークを見つけようとしています。そこで、フラグENABLE_LOGGING
とをアクティブにしNEDMALLOC_TESTLOGENTRY
ます。
私のプログラムでは、システム メモリ プールのみを使用します。プログラムの最後で、neddestroysyspool
すべてのメモリ イベントをフラッシュするために関数を呼び出します。
まず、スタック トレース機能を有効にすることができません。この深さを変更すると、数回の割り当て後にプログラムがクラッシュします。VS2010 でコンパイルするには、自分自身を;DeinitSym
の呼び出しで定義する必要がありました。CloseHandle
私は正しくやっているといいのですが、うまくいきません。だから私はそれを使用しません。
したがって、ファイル nedmalloc.csv を解析するだけです。アドレスのおかげでソートし、割り当てられたサイズを合計し、解放されたサイズをアドレスから減算します。理由は不明ですが、いくつかの大きなチャンク (サイズ > 400kb) では、割り当て時に指定されたサイズは正しいのですが、解放時に指定されたサイズは異なり、割り当てられたサイズを超えています。たとえば、840352 バイトのブロックを割り当てましたが、解放すると記録されたサイズは 851932 バイトでした。正常ですか?
この問題に対する答えやヒントはありますか?