GNU/Linux >> Znalost Linux >  >> Linux

Nelze přidat perf sondu pro metody C++

Jako řešení můžete získat adresu metody pomocí objdump a perf probe přijme to.

  $ 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

Pamatujte, že perf probe očekává posun od souboru a objdump a readelf vraťte adresu po úpravě pro načítací adresu. Pro -pie spustitelný soubor, kde je adresa načítání 0, adresy budou stejné.
Pro jiné než -pie spustitelné soubory můžete získat adresu pro načítání, když se podíváte na výstup readelf -l /path/file a hledání offsetu 0x000000 a podíváme se na to, co VirtAddr ukazuje na a poté toto číslo odečtěte od adresy symbolu, kterou získáte z objdump --syms nebo readelf --syms . Obvykle to bude 0x400000


Linux
  1. Co pro vás může udělat shell dotfile

  2. Jak přidat IP adresu na Ubuntu 18.04 pomocí netplanu?

  3. Jak přidat IP adresu v Ubuntu pomocí příkazu?

  1. Účel adresy sendto pro C raw socket?

  2. Jak mohu určit MAC adresu pro NIC v CentOS bez použití ifconfig?

  3. Příkaz Shell pro získání IP adresy?

  1. ppl – Adresář příkazového řádku pro Linux

  2. Řídit zdrojovou adresu pro dotazy Whois?

  3. Metody detekce veřejné IP adresy v bash