Como solución, puede obtener la dirección del método con objdump
y perf probe
lo aceptará.
$ 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
Tenga en cuenta que perf probe
espera un desplazamiento del archivo y objdump
y readelf
devuelva la dirección después de ajustar la dirección de carga. Por -pie
ejecutable, donde la dirección de carga es 0, las direcciones serán las mismas.
Para no -pie
ejecutables puede obtener la dirección de carga mirando la salida de readelf -l /path/file
y buscando el desplazamiento 0x000000
y mirando lo que VirtAddr
apunta, luego resta ese número de la dirección del símbolo que obtienes de objdump --syms
o readelf --syms
. Normalmente será 0x400000