2012-02-25 6 views
2

私のプログラムが実行されて変数を作成しているので、これらの変数がどのくらいのバイト数であるか知る必要があります。私のプログラムがどれくらいの量のメモリを食べているかはどうやって確認できますか?

システムがプログラムを実行するのにどれだけの物理的なメモリ空間があるかわかりませんが、プロセスマネージャを開いて調べることができます。 私は変数プールの合計サイズを知ることができるように、私のコードにいくつかのsizeofとagregationsを書きたいとは思っていません(そのようなコードを変更するには複雑すぎます)。 最後に、Microsoft VC++ 2010 Expressを使用しています。そのような情報を監視するワークスペースがあるかどうかを知りたいだけです。

ありがとうございます。

+1

がhttp://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windowsを参照してくださいヒーププロファイラを提供し、Googleのtcmallocです。 – netcoder

答えて

4

これを確認してください:Memory Performance Information興味のある実行プロセスのメトリクスはほとんどありません。主にprivate bytesが必要です。このデータは、プログラムでもPerformance Monitorのようなツールでも利用できます。 GetProcessHeaps(さらに詳細が必要な場合はHeapWalk)のヒープを列挙し、ヒープ割り当てサイズを直接チェックすることもできます。

0

Valgrind Massifプロファイラーは素晴らしいツールです(hereを参照)。しかし、私はUnix/Linuxのためにしか考えていません。あなたのケースでは、Windows上で私はInsure++またはsoftwareverifyが良い選択だと思う(彼らは商用ツールです)。

無料の代替はhere

関連する問題