パフォーマンスの高いランタイム メモリ メトリックが必要なので、new
&のオーバーロードに基づいてメモリ トラッカーを作成しましたdelete
。基本的に、ヒープ内の割り当てをウォークし、断片化、サイズ、時間、数、コールスタックなど、それらに関するすべてを分析できます。ただし、2 つの致命的な欠陥があります。他の DLL で割り当てられたメモリを追跡できず、オブジェクトの所有権DLL に渡されるか、逆にクラッシュが発生します。そして、いくつかの小さな欠陥: ユーザーが追跡されていないmalloc
代わりに使用する場合new
。または、ユーザーがクラスを定義した場合new
/ delete
。
これらの欠陥を取り除くにはどうすればよいですか? new
/をオーバーロードすることで、これを根本的に間違って進めているに違いないと思いますdelete
が、もっと良い方法はありますか?