回避策として、objdump でメソッド アドレスを取得できます。 と perf probe 受け入れます。
$ perf probe -x /path/file '0x643f30'
Added new event:
probe_libfile:abs_643f30 (on 0x643f30 in /path/file)
You can now use it in all perf tools, such as:
perf record -e probe_libfile:abs_643f30 -aR sleep 1
perf probe に注意してください ファイルからのオフセットが必要で、objdump と readelf 読み込みアドレスを調整した後、アドレスを返します。 -pie の場合 読み込みアドレスが 0 の場合、アドレスは同じになります。
-pie 以外の場合 実行可能ファイルの readelf -l /path/file の出力を見ると、読み込みアドレスを取得できます オフセット 0x000000 を検索します VirtAddr を見て objdump --syms から取得したシンボル アドレスからその数値を減算します。 または readelf --syms .通常は 0x400000 です