Hi, Babeltrace is doing exactly what it should as far as I know. > yes, but babeltrace *can* provide the information if: * ip and vpid contexts are enabled (for userspace), e.g. $ lttng add-context --userspace --type=ip --type=vpid * LTTng state dump events are enabled, e.g. $ lttng enable-event --userspace 'lttng_ust_statedump:*' see this (from bt2 but it also applies to bt1): https://babeltrace.org/docs/v2.0/man7/babeltrace2-filter.lttng-utils.debug-info.7/#doc-lttng-prereq Note that the Python bindings for babeltrace don't provide/expose this debug info. Christophe On Tue, 23 Jun 2020 at 11:12, Matthew Khouzam via lttng-dev < lttng-dev@lists.lttng.org> wrote: > Hi, > > You have the pointers that are traced. Babeltrace is doing exactly what it > should as far as I know. > > You could use the command 'nm' to get your symbols and look them up. I am > sure Babeltrace can do this from a python level. You could also use a GUI > based trace viewer to get the information. > > Hope that helps. > Matthew > ------------------------------ > *From:* lttng-dev on behalf of Liu, > Changcheng via lttng-dev > *Sent:* Tuesday, June 23, 2020 10:37 AM > *To:* lttng-dev@lists.lttng.org > *Cc:* changcheng.liu@intel.com > *Subject:* [lttng-dev] get function names with lttng-ust-cyg-profile > > 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 > 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 > _______________________________________________ > lttng-dev mailing list > lttng-dev@lists.lttng.org > > https://protect2.fireeye.com/v1/url?k=98478753-c6e73d3d-9847c7c8-869a14f4b08c-41638b2508ab85dd&q=1&e=703483a0-63a9-4269-ac8e-c1fc5a57edad&u=https%3A%2F%2Flists.lttng.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flttng-dev > _______________________________________________ > lttng-dev mailing list > lttng-dev@lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev >