Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LTTNG-UST-DL(3) 		  LTTng Manual			 LTTNG-UST-DL(3)

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.

	 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  li-
	 braries,  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  reli-
	 able, 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 li- |
	 |		  | brary.			|
	 +----------------+-----------------------------+
	 | 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    lt- |
	 |		  | tng_ust_dl:build_id   event |
	 |		  | record   follows  this  one |
	 |		  | (not  necessarily	immedi- |
	 |		  | ately after).		|
	 +----------------+-----------------------------+
	 | has_debug_link | Whether  or  not the loaded |
	 |		  | library has debug link  in- |
	 |		  | formation. If this field is |
	 |		  | 1,	you  can expect that an |
	 |		  | lttng_ust_dl:debug_link	|
	 |		  | event record  follows  this |
	 |		  | one  (not necessarily imme- |
	 |		  | diately after).		|
	 +----------------+-----------------------------+

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

	 Fields:
	 +----------------+-----------------------------+
	 | Field name	  | Description 		|
	 +----------------+-----------------------------+
	 | baddr	  | Base address of loaded  li- |
	 |		  | brary.			|
	 +----------------+-----------------------------+
	 | 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    lt- |
	 |		  | tng_ust_dl:build_id   event |
	 |		  | record   follows  this  one |
	 |		  | (not  necessarily	immedi- |
	 |		  | ately after).		|
	 +----------------+-----------------------------+
	 | has_debug_link | Whether  or  not the loaded |
	 |		  | library has debug link  in- |
	 |		  | formation. If this field is |
	 |		  | 1,	you  can expect that an |
	 |		  | lttng_ust_dl:debug_link	|
	 |		  | event record  follows  this |
	 |		  | one  (not necessarily imme- |
	 |		  | diately after).		|
	 +----------------+-----------------------------+

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

	 Fields:
	 +------------+-----------------------------+
	 | Field name | Description		    |
	 +------------+-----------------------------+
	 | baddr      | Base address of loaded	li- |
	 |	      | brary.			    |
	 +------------+-----------------------------+

     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 li- |
	 |	      | brary.			    |
	 +------------+-----------------------------+
	 | 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://source-
	 ware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html>  for more infor-
	 mation about build IDs.

	 Fields:
	 +------------+-----------------------------+
	 | Field name | Description		    |
	 +------------+-----------------------------+
	 | baddr      | Base address of loaded	li- |
	 |	      | brary.			    |
	 +------------+-----------------------------+
	 | build_id   | Build ID.		    |
	 +------------+-----------------------------+

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

RESOURCES
     *	 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:  lt-
	 tng-dev@lists.lttng.org

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

COPYRIGHTS
     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.13/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
     <http://www.dorsal.polymtl.ca/> at Ecole Polytechnique de Montreal for  the
     LTTng journey.

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

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

LTTng 2.13.9			   04/14/2025			 LTTNG-UST-DL(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lttng-ust-dl&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help