GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile aggiungere la sonda perf per i metodi C++

Come soluzione alternativa puoi ottenere l'indirizzo del metodo con objdump e perf probe lo accetterà.

  $ 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

Nota che perf probe si aspetta un offset dal file e objdump e readelf restituire l'indirizzo dopo aver regolato l'indirizzo di carico. Per -pie eseguibile, dove l'indirizzo di caricamento è 0, gli indirizzi saranno gli stessi.
Per non -pie eseguibili puoi ottenere l'indirizzo di caricamento guardando l'output di readelf -l /path/file e cercando l'offset 0x000000 e guardando cosa VirtAddr punta a, quindi sottrai quel numero dall'indirizzo del simbolo che ottieni da objdump --syms o readelf --syms . Di solito sarà 0x400000


Linux
  1. Cosa può fare per te un file dot di shell

  2. ppl – Una rubrica da riga di comando per Linux

  3. Indirizzo sorgente di controllo per le query Whois?

  4. Scopo dell'indirizzo sendto per il socket raw C?

  5. Come posso determinare l'indirizzo MAC per una scheda NIC in CentOS senza utilizzare ifconfig?

Configurazioni di indirizzi IP statici e dinamici per DHCP

Come posso consentire o bloccare un indirizzo IP specifico per il mio sito web?

Come aggiungere un indirizzo IP aggiuntivo in WHM cPanel

Come aggiungere un nuovo indirizzo IP in Virtualmin?

Come aggiungere l'indirizzo IP in Ubuntu usando il comando?

Come posso profilare il codice C++ in esecuzione su Linux?