lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
* get function names with lttng-ust-cyg-profile
@ 2020-06-23 14:37 Liu, Changcheng via lttng-dev
  2020-06-23 14:37 ` [lttng-dev] " Liu, Changcheng via lttng-dev
  2020-06-23 15:12 ` Matthew Khouzam via lttng-dev
  0 siblings, 2 replies; 16+ messages in thread
From: Liu, Changcheng via lttng-dev @ 2020-06-23 14:37 UTC (permalink / raw)
  To: lttng-dev; +Cc: changcheng.liu

Hi all,
   I'm trying to use lttng-ust-cyg-profile to trace program.
   Does anyone know how to get function names and offset through lttng-ust-cyg-profile?

   In below example, the babeltrace could only get the function entry/exit value.
   1. Source program: instrument.c
         1 #include <stdio.h>
         2 
         3 int add3(int val) {
         4         return val + 3;
         5 }
         6 
         7 int main(int argc, char **argv) {
         8     int x = 4;
         9     
        10     puts("Press Enter to continue...");
        11     getchar();
        12     
        13     x = add3(x);
        14     
        15     return 0;
        16 }

   2. build source code:
        $ gcc -g -finstrument-functions instrument.c -o instrument

   3. run program:
       $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/liblttng-ust-cyg-profile.so ./instrument

   4. start trace process:
       trace@trace:~/cc$ sudo lttng create instrument
       Session instrument created.
       Traces will be output to /root/lttng-traces/instrument-20200623-222917

       trace@trace:~/cc$ sudo lttng enable-channel user_func_trace --userspace
       UST channel user_func_trace enabled for session instrument

       trace@trace:~/cc$ sudo lttng enable-event --userspace lttng_ust_cyg_profile:func_entry --channel user_func_trace
       UST event lttng_ust_cyg_profile:func_entry created in channel user_func_trace
       trace@trace:~/cc$ sudo lttng enable-event --userspace lttng_ust_cyg_profile:func_exit --channel user_func_trace
       UST event lttng_ust_cyg_profile:func_exit created in channel user_func_trace

       trace@trace:~/cc$ sudo lttng start
       Tracing started for session instrument

       trace@trace:~/cc$ sudo lttng destroy
       Destroying session instrument..
       Session instrument destroyed

       trace@trace:~/cc$ sudo babeltrace /root/lttng-traces/instrument-20200623-222917
       [22:29:55.388607059] (+?.?????????) trace lttng_ust_cyg_profile:func_entry: { cpu_id = 2 }, { addr = 0x5625C88B01A9, call_site = 0x5625C88B0237 }
       [22:29:55.388612293] (+0.000005234) trace lttng_ust_cyg_profile:func_exit: { cpu_id = 2 }, { addr = 0x5625C88B01A9, call_site = 0x5625C88B0237 }
       [22:29:55.388613215] (+0.000000922) trace lttng_ust_cyg_profile:func_exit: { cpu_id = 2 }, { addr = 0x5625C88B01EE, call_site = 0x7FE40BD5C0B3 }

B.R.
Changcheng

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-06-27  2:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-23 14:37 get function names with lttng-ust-cyg-profile Liu, Changcheng via lttng-dev
2020-06-23 14:37 ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-23 15:12 ` Matthew Khouzam via lttng-dev
2020-06-23 15:12   ` [lttng-dev] " Matthew Khouzam via lttng-dev
2020-06-23 16:52   ` Christophe Bédard via lttng-dev
2020-06-23 16:52     ` [lttng-dev] " Christophe Bédard via lttng-dev
2020-06-24  1:10     ` Liu, Changcheng via lttng-dev
2020-06-24  1:10       ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-24  1:41     ` Liu, Changcheng via lttng-dev
2020-06-24  1:41       ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-26 14:19       ` Christophe Bédard via lttng-dev
2020-06-26 14:19         ` [lttng-dev] " Christophe Bédard via lttng-dev
2020-06-26 14:22         ` Liu, Changcheng via lttng-dev
2020-06-26 14:22           ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-27  2:38           ` Liu, Changcheng via lttng-dev
2020-06-27  2:38             ` [lttng-dev] " Liu, Changcheng via lttng-dev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).