0

メモリの断片化をデバッグおよび診断するために、メモリマネージャ(C ++アプリケーションに提供されるデフォルトのブロック)に、連続していない空きブロックの数やそれぞれのサイズなどの特定の情報を照会できるようにしたいと思います。それらの。

基本的に、ヒープ全体を最初から最後までスキャンまたは反復して、すべての詳細を確認する方法を想定しています。ここに空きメモリのチャンクが表示された場合、それはバイト単位でどのくらいの大きさですか?次に、私は無料のブロックに遭遇するかもしれません、それはどれくらいの大きさですか?

メモリマネージャをサードパーティのものと交換しようとしましたが、現時点ではコードベースが複雑すぎて、さまざまなトリックを試してもクラッシュが発生し続けました。したがって、これを行うには、いくつかのCRTヒープ診断機能に依存するか、それを実行するツールに依存する必要があります。

ヘルプ(およびC ++のコード例)は大歓迎です!

4

1 に答える 1

0

物事の音から、あなたは探しています_heapwalk。リンク先のページには小さなデモが含まれています。

于 2012-04-30T18:54:33.947 に答える