[lttng-dev] Trying to understand use of lttng enable-event --kernel --userspace-probe=

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu May 18 15:16:45 EDT 2023


On 2023-05-18 15:07, Brian Hutchinson wrote:

[...]

>>
>> If you attach to an ELF symbol (function), then there is no USDT in
>> play, so it should not be related to the issue you have.
> 
> That is what I was thinking which is why I wanted to try it.
> 
>>
>> But if your functions happen to be inlined, then there will be nothing
>> to attach to. Perhaps this is what happens there ?
> 
> I don't see any evidence of anything being inlined in this module.  I
> grepped the code to verify.
> 
> Back to being stumped/stuck.

Make sure to check the resulting assembler and ELF symbol tables.

The compiler is free to inline various functions unless they are 
explicitly marked as __attribute__((noinline)). Also, if LTO is enabled, 
further optimization can be done at link-time.

One purpose of the UST tracepoints is to be less fragile with respect to 
specific optimizations done by the compiler and linker, thus 
guaranteeing that whatever is instrumented with a tracepoint is indeed 
available for tracing.

Also, double-check that the path you pass to --userspace-probe really 
targets your executable or .so binary file, and is not just a symbolic link.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com



More information about the lttng-dev mailing list