通常は gcc (g++) でコンパイルされる長時間実行される C++ プログラムがあります。valgrind を使用してメモリ リークがないことを確認したので、リーク検出器を探しているわけではありません。
ただし、私が懸念しているのは、メモリの断片化と、一時バッファー/オブジェクトの不要な新規/削除のペアです。
new へのすべての呼び出しをログに記録し (STL コンテナー内で発生した場合でも)、スタック トレースを提供してコード内で追跡できるようにする方法はありますか? 私は mtrace を試しましたが、それは C++ にのみ適用されます。責任のあるコード行を調べると、すべての割り当てがグローバルな新しいアロケーターで行われていると言ってしまいます。どういうわけか、valgrind の memcheck は、メモリ割り当てのスタック トレースを表示するという点で、私が望むほとんどのことを行うことができます。残念ながら、それらは、一致する割り当て解除なしで、割り当てのためにのみレンダリングされるようです。