3

spawn-fcgi で始まる C++ アプリケーションをプロファイリングする必要があります。callgrind を使用しようとしましたが、KCachegrind の callgrind 出力にアプリケーションの情報が表示されません。

valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes --demangle=no --trace-children=yes --callgrind-out-file=%p spawn-fcgi -s /tmp/sock.tmp ./myApp arg1 arg2

このコマンドは 10012 と 10013 の 2 つのファイルを作成しますが、2 番目のファイルは空です。最初のファイルには、場所 spawn-fcgi、ld-2.*.so、および libc の関数情報が含まれています。

アプリケーションのプロファイリング情報を取得するための正しいオプションを提案してください。

4

1 に答える 1

2

プロファイリングされた fastcgi プロセスが終了時にクラッシュしたときに、同様の動作が発生しました (したがって、統計は SIGSEGV による終了時にダンプされません)。

ツールを使用callgrind_controlして、任意の時点で統計をダンプしました。

callgrind_control --dump

また、 で統計の収集を停止しcallgrind_control -i off、 で再度有効にしcallgrind_control -i on、 でリセットできますcallgrind_control -z

詳細についてcallgrind_controlは、マニュアルを参照してくださいhttp://valgrind.org/docs/manual/cl-manual.html

于 2014-02-26T14:29:05.703 に答える