GNU/Linux >> Tutoriels Linux >  >> Linux

Impossible d'ajouter une sonde de performance pour les méthodes C++

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


Linux
  1. Qu'est-ce qu'un dotfile shell peut faire pour vous

  2. ppl - Un carnet d'adresses en ligne de commande pour Linux

  3. Adresse source de contrôle pour les requêtes Whois ?

  4. Méthodes pour détecter l'adresse IP publique dans bash

  5. Objectif de l'adresse sendto pour le socket C raw ?

Configurations d'adresses IP statiques et dynamiques pour DHCP

Comment puis-je autoriser ou bloquer une adresse IP spécifique pour mon site Web ?

Comment ajouter une adresse IP supplémentaire dans WHM cPanel

Comment ajouter une nouvelle adresse IP dans Virtualmin ?

Comment ajouter une adresse IP dans Ubuntu à l'aide de la commande ?

Comment puis-je profiler du code C++ exécuté sous Linux ?