[lttng-dev] Function Tracing Fails
paramesh p
params16jan at gmail.com
Thu Aug 16 03:29:27 EDT 2018
please give your suggestions on previous mail.
Thanks,
Paramesh
On Tue, Aug 7, 2018 at 2:20 PM, paramesh p <params16jan at gmail.com> wrote:
> Sorry for the delayed response,
>
> @Mathieu,
> I have attached the build log. The Project I am working is Yocto
> Project based build system. My App uses the shared object "libhw.so". So,
> it built first. As I said before,below are the flag I added
>
> AM_CFLAGS += -g -O0 -finstrument-functions
> AM_CXXFLAGS += -g -O0 -finstrument-functions
>
>
> From the log I found that "-finstrument-functions" flag included in
> compiling all the source files, ' libhw.la' file and 'my_test_app'
> binary, but not included for compiling 'libhw.so'. I am not sure why? My
> question is, as you see my shared object and binary includes following so's
> "libtinyalsa.so libexpat.so libbinder.so libutils.so libhwwrapper.so
> libhardware.so libcutils.so liblog.so". Are all these need to be compiled
> with finstrument flag. In that case, it will increase my workload, since
> some of them are custom build and some from the libs and each of them might
> have their own dependents.
>
>
> @gen,
> objdump doesn't support arm architecture. So, I used
> "arm-linux-gnueabi-objdump" tool. I could see cyg information to all my
> object files but I could not see for "libhw.so" and "my_test_app" files.
> cyg information of one of my source file,
>
> $ arm-linux-gnueabi-objdump -d libhw_la-hw_api.o | grep cyg
>
> 20: ebfffffe bl 0 <__cyg_profile_func_enter>
>
> 30: eafffffe b 0 <__cyg_profile_func_exit>
>
> 64: ebfffffe bl 0 <__cyg_profile_func_enter>
>
> a4: ebfffffe bl 0 <__cyg_profile_func_exit>
>
> .....................
>
> .....................
>
> 2548: ebfffffe bl 0 <__cyg_profile_func_exit>
>
> 258c: ebfffffe bl 0 <__cyg_profile_func_enter>
>
> 25d0: ebfffffe bl 0 <__cyg_profile_func_exit>
>
> 25e8: ebfffffe bl 0 <__cyg_profile_func_exit>
>
>
>
> Please help me.
>
> Thanks in Advance,
> Paramesh
>
>
>
>
>
> On Mon, Jul 30, 2018 at 6:50 AM, Geneviève Bastien <gbastien at versatic.net>
> wrote:
>
>> Hi Paramesh,
>>
>>
>> One way to know if your app is really compiled with
>> -finstrument-functions is doing
>>
>>
>> $ objdump -d my_test_app | grep cyg
>>
>> You would typically see something like this:
>>
>> 0000000000001250 <__cyg_profile_func_enter at plt>:
>> 1250: ff 25 fa 2d 20 00 jmpq *0x202dfa(%rip) #
>> 204050 <__cyg_profile_func_enter at GLIBC_2.2.5>
>> <__cyg_profile_func_enter at GLIBC_2.2.5>
>> 0000000000001260 <__cyg_profile_func_exit at plt>:
>> 1260: ff 25 f2 2d 20 00 jmpq *0x202df2(%rip) #
>> 204058 <__cyg_profile_func_exit at GLIBC_2.2.5>
>> <__cyg_profile_func_exit at GLIBC_2.2.5>
>> 14a8: e8 a3 fd ff ff callq 1250
>> <__cyg_profile_func_enter at plt>
>> 16d8: e8 83 fb ff ff callq 1260
>> <__cyg_profile_func_exit at plt>
>> 19c5: e8 86 f8 ff ff callq 1250
>> <__cyg_profile_func_enter at plt>
>> 19e2: e9 79 f8 ff ff jmpq 1260
>> <__cyg_profile_func_exit at plt>
>> 1a0d: e8 3e f8 ff ff callq 1250
>> <__cyg_profile_func_enter at plt>
>>
>> If you see nothing, as Mathieu said, you can check the individual make
>> commands and see what flags are being used on the command line.
>>
>> Geneviève
>>
>>
>>
>> On 2018-07-29 09:29 PM, paramesh p wrote:
>>
>> Hi,
>> I am trying to use Function Tracing for my application running in
>> 32-bit ARM Platform. I have added below lines in my makefile for enabling
>> Trace Data for function tracing
>>
>> AM_CFLAGS += -g -O0 -finstrument-functions
>> AM_CXXFLAGS += -g -O0 -finstrument-functions
>>
>> **(My App have both C && CPP files, So I added CFLAGS & CXXFLAGS).
>>
>> I am running below commands,
>> $lttng create session1
>> $lttng enable-event -u -a --loglevel-only TRACE_DEBUG_FUNCTION
>> $lttng start
>> $LD_PRELOAD=liblttng-ust-cyg-profile.so.0.0.0 my_test_app
>> $lttng start
>> $babeltrace /home/root/lttng-traces/session1
>>
>> Its showing nothing.
>>
>> I tried with below event-enable command also. There is no data
>> $lttng enable-event -u -a --loglevel TRACE_DEBUG_FUNCTION
>>
>> But If I use the command, "lttng enable-event -u -a" for enabling the
>> event, I am getting below output from babeltrace,
>>
>> [22:25:30.812389281] (+?.?????????) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0xAD1A9000, sopath = "/usr/lib/liblttng-ust-cyg-profile.so.0.0.0",
>> size = 10004, mtime = 1532324280 }
>> [22:25:30.812496469] (+0.000107188) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DFF0000, sopath = "/usr/lib/xxx.so", size =
>> 19540, mtime = 1532369202 }
>> [22:25:30.812604177] (+0.000107708) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4E120000, sopath = "/usr/lib/libcutils.so.0.0.0",
>> size = 48624, mtime = 1532323462 }
>> [22:25:30.812655219] (+0.000051042) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DC80000, sopath = "/lib/libpthread-2.22.so",
>> size = 94976, mtime = 1532322845 }
>> [22:25:30.812701677] (+0.000046458) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DB20000, sopath = "/lib/libc-2.22.so", size =
>> 1304484, mtime = 1532322845 }
>> [22:25:30.812757927] (+0.000056250) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0xAD15B000, sopath = "/usr/lib/liblttng-ust.so.0.0.0",
>> size = 315248, mtime = 1532324280 }
>> [22:25:30.812814229] (+0.000056302) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0xAD149000, sopath = "/usr/lib/liblttng-ust-tracepoint.so.0.0.0",
>> size = 35624, mtime = 1532324280 }
>> [22:25:30.812860635] (+0.000046406) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DEC0000, sopath = "/lib/librt-2.22.so", size
>> = 28380, mtime = 1532322845 }
>> [22:25:30.812904438] (+0.000043803) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DCB0000, sopath = "/lib/libdl-2.22.so", size
>> = 11236, mtime = 1532322845 }
>> [22:25:30.812959125] (+0.000054687) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DE10000, sopath = "/usr/lib/liburcu-bp.so.2.0.0",
>> size = 29052, mtime = 1532323584 }
>> [22:25:30.813013969] (+0.000054844) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DE00000, sopath = "/usr/lib/liburcu-cds.so.2.0.0",
>> size = 26152, mtime = 1532323584 }
>> [22:25:30.813485479] (+0.000471510) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DD60000, sopath = "/usr/lib/liburcu-common.so.2.0.0",
>> size = 13084, mtime = 1532323584 }
>> [22:25:30.813600792] (+0.000115313) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DAE0000, sopath = "/lib/ld-2.22.so", size =
>> 139632, mtime = 1532322845 }
>> [22:25:30.813663656] (+0.000062864) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DFC0000, sopath = "/usr/lib/xxx.so.1.0.0", size
>> = 19456, mtime = 1532323510 }
>> [22:25:30.813720635] (+0.000056979) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4E030000, sopath = "/usr/lib/xxx.so.1.6.0", size
>> = 142164, mtime = 1532323441 }
>> [22:25:30.813776990] (+0.000056355) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4E060000, sopath = "/usr/lib/xxx.so.0.0.0", size
>> = 265304, mtime = 1532324468 }
>> [22:25:30.813843917] (+0.000066927) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DEA0000, sopath = "/usr/lib/xxx.so.0.0.0", size
>> = 84016, mtime = 1532324363 }
>> [22:25:30.813884385] (+0.000040468) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DFE0000, sopath = "/usr/lib/xxx.so", size =
>> 34204, mtime = 1532324426 }
>> [22:25:30.813940479] (+0.000056094) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DFD0000, sopath = "/usr/lib/xxx.so", size =
>> 7388, mtime = 1532324388 }
>> [22:25:30.813993604] (+0.000053125) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4E000000, sopath = "/usr/lib/xxx.so", size =
>> 33152, mtime = 1532323414 }
>> [22:25:30.814049333] (+0.000055729) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DEE0000, sopath = "/usr/lib/libstdc++.so.6.0.20",
>> size = 869236, mtime = 1532323320 }
>> [22:25:30.814094177] (+0.000044844) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DCD0000, sopath = "/lib/libm-2.22.so", size =
>> 441372, mtime = 1532322845 }
>> [22:25:30.814234177] (+0.000140000) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DE80000, sopath = "/lib/libgcc_s.so.1", size =
>> 118608, mtime = 1532323098 }
>> [22:25:30.814427615] (+0.000193438) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x8000, sopath = "/usr/bin/my_test_app", size =
>> 54540, mtime = 1532369202 }
>> [22:25:30.828436677] (+0.014009062) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0xAEC57000, sopath = "/usr/lib/liblttng-ust-cyg-profile.so.0.0.0",
>> size = 10004, mtime = 1532324280 }
>> [22:25:30.828634958] (+0.000198281) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 1 }, { baddr = 0x4DCD0000, sopath = "/lib/libm-2.22.so", size =
>> 441372, mtime = 1532322845 }
>> [22:25:30.829786104] (+0.001151146) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DB20000, sopath = "/lib/libc-2.22.so", size =
>> 1304484, mtime = 1532322845 }
>> [22:25:30.829910219] (+0.000124115) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0xAEC09000, sopath = "/usr/lib/liblttng-ust.so.0.0.0",
>> size = 315248, mtime = 1532324280 }
>> [22:25:30.829996000] (+0.000085781) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0xAEBF7000, sopath = "/usr/lib/liblttng-ust-tracepoint.so.0.0.0",
>> size = 35624, mtime = 1532324280 }
>> [22:25:30.830067510] (+0.000071510) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DEC0000, sopath = "/lib/librt-2.22.so", size
>> = 28380, mtime = 1532322845 }
>> [22:25:30.830118031] (+0.000050521) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DCB0000, sopath = "/lib/libdl-2.22.so", size
>> = 11236, mtime = 1532322845 }
>> [22:25:30.830175010] (+0.000056979) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DE10000, sopath = "/usr/lib/liburcu-bp.so.2.0.0",
>> size = 29052, mtime = 1532323584 }
>> [22:25:30.830245271] (+0.000070261) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DE00000, sopath = "/usr/lib/liburcu-cds.so.2.0.0",
>> size = 26152, mtime = 1532323584 }
>> [22:25:30.830316521] (+0.000071250) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 0 }, { baddr = 0x4DD60000, sopath = "/usr/lib/liburcu-common.so.2.0.0",
>> size = 13084, mtime = 1532323584 }
>> [22:25:34.384458499] (+3.554141978) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0xAF584000, sopath = "/usr/lib/liblttng-ust-cyg-profile.so.0.0.0",
>> size = 10004, mtime = 1532324280 }
>> [22:25:34.385048967] (+0.000590468) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DCD0000, sopath = "/lib/libm-2.22.so", size =
>> 441372, mtime = 1532322845 }
>> [22:25:34.385146415] (+0.000097448) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DB20000, sopath = "/lib/libc-2.22.so", size =
>> 1304484, mtime = 1532322845 }
>> [22:25:34.385251832] (+0.000105417) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0xAF536000, sopath = "/usr/lib/liblttng-ust.so.0.0.0",
>> size = 315248, mtime = 1532324280 }
>> [22:25:34.385354228] (+0.000102396) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0xAF524000, sopath = "/usr/lib/liblttng-ust-tracepoint.so.0.0.0",
>> size = 35624, mtime = 1532324280 }
>> [22:25:34.385444384] (+0.000090156) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DEC0000, sopath = "/lib/librt-2.22.so", size
>> = 28380, mtime = 1532322845 }
>> [22:25:34.385530165] (+0.000085781) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DCB0000, sopath = "/lib/libdl-2.22.so", size
>> = 11236, mtime = 1532322845 }
>> [22:25:34.385607613] (+0.000077448) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DE10000, sopath = "/usr/lib/liburcu-bp.so.2.0.0",
>> size = 29052, mtime = 1532323584 }
>> [22:25:34.385677978] (+0.000070365) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DE00000, sopath = "/usr/lib/liburcu-cds.so.2.0.0",
>> size = 26152, mtime = 1532323584 }
>> [22:25:34.385773655] (+0.000095677) ZZZ ust_baddr_statedump:soinfo: {
>> cpu_id = 2 }, { baddr = 0x4DD60000, sopath = "/usr/lib/liburcu-common.so.2.0.0",
>> size = 13084, mtime = 1532323584 }
>>
>> Note: I have changed the Target Name as 'ZZZ' and some of the library
>> name as 'xxx' in the above log for some confidential issues.
>>
>>
>> Please guide me where I am making mistake and Please give your input on
>> how to check the application compiled with function instrument information
>> for tracing. I verified that application compiled with debugging
>> information, by running gdb command. Below is the output of gdb command,
>>
>> /usr/bin # gdb my_test_app
>> GNU gdb (GDB) 7.9.1
>> Copyright (C) 2015 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.h
>> tml>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
>> and "show warranty" for details.
>> This GDB was configured as "arm-oe-linux-gnueabi".
>> Type "show configuration" for configuration details.
>> For bug reporting instructions, please see:
>> <http://www.gnu.org/software/gdb/bugs/>.
>> Find the GDB manual and other documentation resources online at:
>> <http://www.gnu.org/software/gdb/documentation/>.
>> For help, type "help".
>> Type "apropos word" to search for commands related to "word"...
>> Reading symbols from my_test_app...done.
>> (gdb)
>> (gdb) exit
>> I am not sure whether it is compiled with finstrumentation information.
>>
>> Thanks in Advance,
>> Paramesh
>>
>>
>>
>>
>> _______________________________________________
>> lttng-dev mailing listlttng-dev at lists.lttng.orghttps://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>>
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20180816/ea8953f7/attachment-0001.html>
More information about the lttng-dev
mailing list