[lttng-dev] get function names with lttng-ust-cyg-profile
Liu, Changcheng
changcheng.liu at intel.com
Tue Jun 23 10:37:58 EDT 2020
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 at trace:~/cc$ sudo lttng create instrument
Session instrument created.
Traces will be output to /root/lttng-traces/instrument-20200623-222917
trace at trace:~/cc$ sudo lttng enable-channel user_func_trace --userspace
UST channel user_func_trace enabled for session instrument
trace at 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 at 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 at trace:~/cc$ sudo lttng start
Tracing started for session instrument
trace at trace:~/cc$ sudo lttng destroy
Destroying session instrument..
Session instrument destroyed
trace at 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
More information about the lttng-dev
mailing list