回避策として、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
です