2017-06-27 5 views
0

私はCプログラムを実行していますので、これによって使用されるメモリを見たいと思います。私はプロファイラgprofを使用しています。 gprofで可能ですか?または、Valgrindのプロファイルを調べる必要がありますか?gprofでCプログラムが使用しているメモリを参照してください

+2

私の印象は 'gprof'は主にタイミング性能のためではなく、メモリの量を測定するために使用されていることです中古。 Valgrindは記憶にもっと関心があります。私はその 'メモリ濫用'の検出にしか使用していません。それを使用する他の方法があり、そのうちの1つがあなたにとって適切かもしれません。 –

答えて

0

あなたはValgrindのルートを下に移動したい場合は、山塊を使用するためのツールです。

valgrind --tool=massif your_app -your_options

0

gprofを使うことができますが、Cプログラムをプロファイリングの正しいオプション(-pg)でコンパイルしていることを確認する必要があります。たとえば:

cc -o cprogram program.c othercode.c -g -pg 

gprofのを使用するには、manページをチェック - しかし、要するに:

gprof <options> [executable-file [profile-data-files...]] [> outfile] 

私はこのことができますことを願っています!

+2

これは、OPが使用するメモリを表示するのにどのように役立ちますか? –

+0

私はこの質問を、実行中のアプリケーションのプロファイル方法として解釈しました。すべてのOPが使用したいメモリを参照している場合、gprof(およびそれに関連するコンパイラ/リンカオプション)は不要です。これは、「top」で十分です。 valgrindでも-pgオプションを使う必要があります。 – headbanger

+0

http://valgrind-users.narkive.com/MPnV7HOw/gcc-pg-valgrind-errors – headbanger

関連する問題