NAME |SYNOPSIS |DESCRIPTION |BUGS |RESOURCES |COPYRIGHTS |THANKS |AUTHORS |SEE ALSO |COLOPHON | |
LTTNG-UST-DL(3) LTTng ManualLTTNG-UST-DL(3)lttng-ust-dl - Dynamic linker tracing (LTTng-UST helper)
Launch your application by preloadingliblttng-ust-dl.so: $LD_PRELOAD=liblttng-ust-dl.somy-app
When theliblttng-ust-dl.solibrary is preloaded before a given application starts, it causes all calls todlopen(3) anddlclose(3) in said application to be traced with LTTng-UST (seelttng-ust(3)). Seelttng(1) to learn more about how to control LTTng tracing sessions.Important This LTTng-UST helper can also emitshared library load/unload events (seeShared library load/unload tracking inlttng-ust(3)). You should NOT use the event records generated by this LTTng-UST helper (prefixed withlttng_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 preloadliblttng-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 whendlopen(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 whendlmopen(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 whendlclose(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 withdlopen(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 withdlopen(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. │ └────────────┴────────────────────────┘
If you encounter any issue or usability problem, please report it on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng- ust>.
• 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>:#lttngonirc.oftc.net
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 theCOPYING <https://github.com/lttng/lttng-ust/blob/v2.14/COPYING> file for more details.
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.
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>.
lttng-ust(3),dlopen(3),lttng(1)
This page is part of theLTTng-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 2025-08-11. 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 isnot part of the original manual page), send a mail to man-pages@man7.orgLTTng 2.14.0-pre 06/07/2024LTTNG-UST-DL(3)Pages that refer to this page:lttng-ust(3), babeltrace2-filter.lttng-utils.debug-info(7)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |