Comme solution de contournement, vous pouvez obtenir l'adresse de la méthode avec objdump
et perf probe
l'acceptera.
$ 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
Notez que perf probe
attend un décalage du fichier, et objdump
et readelf
renvoyer l'adresse après ajustement pour l'adresse de chargement. Pour -pie
exécutable, où l'adresse de chargement est 0, les adresses seront les mêmes.
Pour les non -pie
exécutables, vous pouvez obtenir l'adresse de chargement en regardant la sortie de readelf -l /path/file
et recherche du décalage 0x000000
et en regardant ce que VirtAddr
il pointe vers, puis soustrayez ce nombre de l'adresse du symbole que vous obtenez de objdump --syms
ou readelf --syms
. Ce sera généralement 0x400000