0

PCでGoogleパフォーマンスツールを正常に使用しています。ただし、aarch64 アーキテクチャ用にコンパイルおよびデプロイしているため、x86 で取得したプロファイリング結果が aarch64 と一致しない場合があります。

aarch64 デバイスで直接測定したかったのです。フラグを付けてコンパイルしRelWithDebInfo、プロファイラーの実行時リンクを使用してコードを実行しましたLD_PRELOAD

私の最初の試みでは、ほとんどの場合、関数名の代わりにアドレスを取得しました:

 828   2.1%  86.0%      828   2.1% 0x0000007fa4ededb8
 827   2.1%  88.1%      827   2.1% 0x0000007fa4edcf5c
 641   1.6%  89.8%      641   1.6% 0x0000007fa4edcf6c
 600   1.5%  91.3%      600   1.5% 0x0000007fa4ededc4
 413   1.1%  92.4%      413   1.1% 0x0000007fa4edec5c

ただし、一部の関数の実際の関数名を取得しました。

LD_PRELOADオプションはお勧めしません。-lprofilerx86 PC で、次のようにしてGoogle パフォーマンス ツールをコンパイルした後、オプションでリンクしようとしました。

./configure --prefix [AARCH64_LIBPATH] --host aarch64-gnu-linux
make && sudo make install

コードを実行しようとするとmake、次のエラーが発生しました。

skipping incompatible [AARCH64_LIBPATH]/libprofiler.so when searching for -lprofiler
[SOME_AARCH64_PATH]/ld: cannot find -lprofiler

Google perf ツールを使用して aarch64 デバイスの CPU をプロファイリングするにはどうすればよいですか?

4

1 に答える 1