2017-10-26 18 views
0

gpreftoolsを構成してビルドしました。しかし、私はそれを表示する私のプログラムの生成されたプロファイルファイルを見つけることができないようです。gperftools - プロファイルファイルがダンプされない

私は次のアクションを取った:

  1. は、私の.pro-lprofilerリンカフラグを追加するプログラムを構築し、フラグがリンク段階で正しく追加されています。実行 $ CPUPROFILE=/tmp/prof.out /path/to/executable

  2. QMAKE_LFLAGS += -lprofiler

  3. はで実行

    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.

    誰もが持っている: は$ pprof --gv /path/to/MyExe /tmp/prof.out

は、その後、私は、次の取得しますこれを解決する?

答えて

0

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

+0

lddを使用して動的依存関係をリストしても、libprofiler.soが生成されませんでした。 QMAKE_LFLAGS + = -Wl、 - 必要に応じて-lprofiler、 - as-neededを使用します。余分な依存関係をリンクしないために--as-neededオプションを有効にしておくことは非常に重要です。 – Eslam

関連する問題