Rechercher

22.2. Créer des uprobes sur des lignes dans une fonction avec perf

download PDF

Ces tracepoints peuvent ensuite être utilisés en conjonction avec d'autres outils perf tels que perf stat et perf record afin de mieux comprendre le processus ou le comportement des applications.

Conditions préalables

  • L'outil de l'espace utilisateur perf est installé comme décrit dans la section Installation de perf.
  • Vous avez obtenu les symboles de débogage pour votre exécutable :

    # objdump -t ./your_executable | head
    Note

    Pour ce faire, le paquet debuginfo de l'exécutable doit être installé ou, si l'exécutable est une application développée localement, l'application doit être compilée avec des informations de débogage, l'option -g dans GCC.

Procédure

  1. Visualisez les lignes de fonction où vous pouvez placer une robe montante :

    $ perf probe -x ./your_executable -L main

    La sortie de cette commande ressemble à ce qui suit :

    <main@/home/user/my_executable:0>
                  0  int main(int argc, const char **argv)
                  1  {
                            int err;
                            const char *cmd;
                            char sbuf[STRERR_BUFSIZE];
    
                            /* libsubcmd init */
                  7         exec_cmd_init("perf", PREFIX, PERF_EXEC_PATH, EXEC_PATH_ENVIRONMENT);
                  8         pager_init(PERF_PAGER_ENVIRONMENT);
  2. Créer la robe montante pour la ligne de fonction souhaitée :

    # perf probe -x ./my_executable main:8
    Added new event:
              probe_my_executable:main_L8   (on main:8 in /home/user/my_executable)
    
            You can now use it in all perf tools, such as:
    
                    perf record -e probe_my_executable:main_L8 -aR sleep 1
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.