5

gpreftoolsを構成してビルドしました。ただし、プログラムを表示するために生成されたプロファイル ファイルが見つからないようです。

私は次の行動をとった:

  1. -lprofilermy にリンカー フラグを追加し.pro、プログラムをビルドすると、リンク段階でフラグが正しく追加されます。 QMAKE_LFLAGS += -lprofiler

  2. 実行中: $ CPUPROFILE=/tmp/prof.out /path/to/executable

  3. 実行中: $ pprof --gv /path/to/MyExe /tmp/prof.out

次に、次のようになります。

Failed to get profile: curl -s --max-time 90 'http:///pprof/profile?seconds=30' > /home/eslam/pprof/.tmp.MyExe.1509005857.: No such file or directory.

誰でもこれについて解決策を持っていますか?

4

2 に答える 2

7

プログラムが実際に libprofiler.so にリンクしていることを確認してください。一部のOS(たとえば、ubuntuのAFAIK一部のバージョン)は、そのシンボルが実際に使用されていない場合、実際には.soを追加しません。たとえば、ldd ./yourprogram は libprofiler.so をリストする必要があります。これが起こらない場合は、リンカ フラグに -Wl,--no-as-needed のようなものを追加する必要があります。

于 2017-10-30T19:14:53.433 に答える