lttng-ust-dl(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | BUGS | RESOURCES | COPYRIGHTS | THANKS | AUTHORS | SEE ALSO | COLOPHON

LTTNG-UST-DL(3)               LTTng Manual               LTTNG-UST-DL(3)

NAME         top

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

SYNOPSIS         top

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

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

DESCRIPTION         top

       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.

           Important

           This LTTng-UST helper can also emit shared library
           load/unload events (see Shared library load/unload tracking
           in lttng-ust(3)). You should NOT use the event records
           generated by this LTTng-UST helper (prefixed with
           lttng_ust_dl:) to track the loading and unloading of shared
           libraries, especially in situations where a dynamically
           loaded library loads its own dependencies. Instead, do
           preload liblttng-ust-dl.so, but use the shared library
           load/unload event records, which are more reliable, for your
           tracking analysis.

       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.               │
           ├────────────────┼──────────────────────────┤
           │ flags          │ Flags passed to          │
           │                │ dlopen(3).               │
           ├────────────────┼──────────────────────────┤
           │ path           │ Path to loaded library   │
           │                │ file.                    │
           ├────────────────┼──────────────────────────┤
           │ has_build_id   │ Whether or not the       │
           │                │ loaded library has a     │
           │                │ build ID. If this field  │
           │                │ is 1, you can expect     │
           │                │ that an                  │
           │                │ lttng_ust_dl:build_id    │
           │                │ event record follows     │
           │                │ this one (not            │
           │                │ necessarily immediately  │
           │                │ after).                  │
           ├────────────────┼──────────────────────────┤
           │ has_debug_link │ Whether or not the       │
           │                │ loaded library has debug │
           │                │ link information. If     │
           │                │ this field is 1, you can │
           │                │ expect that an           │
           │                │ lttng_ust_dl:debug_link  │
           │                │ event record follows     │
           │                │ this one (not            │
           │                │ necessarily immediately  │
           │                │ after).                  │
           └────────────────┴──────────────────────────┘

       lttng_ust_dl:dlmopen
           Emitted when dlmopen(3) is called.

           Fields:
           ┌────────────────┬──────────────────────────┐
           │ Field name     Description              │
           ├────────────────┼──────────────────────────┤
           │ baddr          │ Base address of loaded   │
           │                │ library.                 │
           ├────────────────┼──────────────────────────┤
           │ memsz          │ Size of loaded library   │
           │                │ in memory.               │
           ├────────────────┼──────────────────────────┤
           │ nsid           │ ID of the namespace in   │
           │                │ which the library is     │
           │                │ loaded (as passed to     │
           │                │ dlmopen(3)).             │
           ├────────────────┼──────────────────────────┤
           │ flags          │ Flags passed to          │
           │                │ dlmopen(3).              │
           ├────────────────┼──────────────────────────┤
           │ path           │ Path to loaded library   │
           │                │ file.                    │
           ├────────────────┼──────────────────────────┤
           │ has_build_id   │ Whether or not the       │
           │                │ loaded library has a     │
           │                │ build ID. If this field  │
           │                │ is 1, you can expect     │
           │                │ that an                  │
           │                │ lttng_ust_dl:build_id    │
           │                │ event record follows     │
           │                │ this one (not            │
           │                │ necessarily immediately  │
           │                │ after).                  │
           ├────────────────┼──────────────────────────┤
           │ has_debug_link │ Whether or not the       │
           │                │ loaded library has debug │
           │                │ link information. If     │
           │                │ this field is 1, you can │
           │                │ expect that an           │
           │                │ lttng_ust_dl:debug_link  │
           │                │ event record follows     │
           │                │ this one (not            │
           │                │ necessarily immediately  │
           │                │ after).                  │
           └────────────────┴──────────────────────────┘

       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 <https://sourceware.org/gdb/onlinedocs/gdb/Separate-
           Debug-Files.html> 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
           <https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-
           Files.html> for more information about build IDs.

           Fields:
           ┌────────────┬────────────────────────┐
           │ Field name Description            │
           ├────────────┼────────────────────────┤
           │ baddr      │ Base address of loaded │
           │            │ library.               │
           ├────────────┼────────────────────────┤
           │ build_id   │ Build ID.              │
           └────────────┴────────────────────────┘

BUGS         top

       If you encounter any issue or usability problem, please report it
       on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng-
       ust>.

RESOURCES         top

       •   LTTng project website <http://lttng.org>

       •   LTTng documentation <http://lttng.org/docs>

       •   Git repositories <http://git.lttng.org>

       •   GitHub organization <http://github.com/lttng>

       •   Continuous integration <http://ci.lttng.org/>

       •   Mailing list <http://lists.lttng.org> for support and
           development: lttng-dev@lists.lttng.org

       •   IRC channel <irc://irc.oftc.net/lttng>: #lttng on
           irc.oftc.net

COPYRIGHTS         top

       This library is part of the LTTng-UST project.

       This library is distributed under the GNU Lesser General Public
       License, version 2.1 <http://www.gnu.org/licenses/old-
       licenses/lgpl-2.1.en.html>. See the COPYING
       <https://github.com/lttng/lttng-ust/blob/v2.14/COPYING> file for
       more details.

THANKS         top

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

       Special thanks to Michel Dagenais and the DORSAL laboratory
       <http://www.dorsal.polymtl.ca/> at École Polytechnique de
       Montréal for the LTTng journey.

AUTHORS         top

       LTTng-UST was originally written by Mathieu Desnoyers, with
       additional contributions from various other people. It is
       currently maintained by Mathieu Desnoyers
       <mailto:mathieu.desnoyers@efficios.com>.

SEE ALSO         top

       lttng-ust(3), dlopen(3), lttng(1)

COLOPHON         top

       This page is part of the LTTng-UST (LTTng Userspace Tracer)
       project.  Information about the project can be found at 
       ⟨http://lttng.org/⟩.  It is not known how to report bugs for this
       man page; if you know, please send a mail to man-pages@man7.org.
       This page was obtained from the tarball fetched from
       ⟨https://lttng.org/files/lttng-ust/⟩ on 2024-06-14.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

LTTng 2.14.0-pre               06/07/2024                LTTNG-UST-DL(3)

Pages that refer to this page: lttng-ust(3)babeltrace2-filter.lttng-utils.debug-info(7)