lttng-ust-dl(3) (v2.8)

NAME

lttng-ust-dl — Dynamic linker tracing (LTTng-UST helper)

SYNOPSIS

Launch your application by preloading liblttng-ust-dl.so:

$ LD_PRELOAD=liblttng-ust-dl.so my-app

DESCRIPTION

When the liblttng-ust-dl.so library is preloaded before a given application starts, it causes all calls to dlopen(3) and dlclose(3) in said application to be traced with LTTng-UST (see lttng-ust(3)).

See lttng(1) to learn more about how to control LTTng tracing sessions.

The following LTTng-UST events are available when using this library:

lttng_ust_dl:dlopen

Emitted when dlopen(3) is called.

Fields:

Field name Description

baddr

Base address of loaded library

memsz

Size of loaded library in memory

path

Path to loaded library file

lttng_ust_dl:dlclose

Emitted when dlclose(3) is called.

Fields:

Field name Description

baddr

Base address of loaded library

lttng_ust_dl:debug_link

Emitted when debug link information is found when loading a library with dlopen(3). See Debugging Information in Separate Files for more information about debug links.

Fields:

Field name Description

baddr

Base address of loaded library

filename

Debug link file name

crc

Debug link file’s CRC

lttng_ust_dl:build_id

Emitted when a build ID is found when loading a library with dlopen(3). See Debugging Information in Separate Files for more information about build IDs.

Fields:

Field name Description

baddr

Base address of loaded library

build_id

Build ID

BUGS

If you encounter any issue or usability problem, please report it on the LTTng bug tracker.

RESOURCES

COPYRIGHTS

This library is part of the LTTng-UST project.

This library is distributed under the GNU Lesser General Public License, version 2.1. See the COPYING file for more details.

THANKS

Thanks to Ericsson for funding this work, providing real-life use cases, and testing.

Special thanks to Michel Dagenais and the DORSAL laboratory at École Polytechnique de Montréal for the LTTng journey.

AUTHORS

LTTng-UST was originally written by Mathieu Desnoyers, with additional contributions from various other people. It is currently maintained by Mathieu Desnoyers.

SEE ALSO