| LTRACE(1) | General Commands Manual | LTRACE(1) |
ltrace — shared
library function call tracer
ltrace |
[-ai] [-f
trfile] [-t
trstr] [-u
trspec] command |
ltrace enables shared library function
calls issued by the specified processes to be traced using the
utrace(2) user tracing facility. By default, call trace
data is logged to the file ktrace.out, unless
overridden by the -f option. Each function call is
traced as a pair of KTRFAC_USER entries; the first
entry contains the shared library containing the symbol being called, and
the second entry contains the symbol name.
Once tracing is enabled on a process, trace data will be logged until either the process exits or the trace point is cleared with ktrace(1). A traced process can generate enormous amounts of log data quickly; it is strongly suggested that users memorize how to disable tracing before attempting to trace a process. The following command is sufficient to disable tracing on all user owned processes and, if executed by root, all processes:
$ ktrace -CThe trace file is not human-readable; use kdump(1) to decode it.
The options are as follows:
-a-f
trfile-i-t
trstru. The following table equates
the letters with the trace points:
-u
trspecltrace dump file.Trace all shared library function calls from wc(1) reading the message of the day:
$ ltrace wc -lh
/etc/motdTrace only the shared library function calls in libutil.so:
$ ltrace -u libutil wc -lh
/etc/motdTrace all the shared library function calls but those in libc.so:
$ ltrace -u "!libc" wc -lh
/etc/motdTrace all the shared library function calls with names starting "fmt":
$ ltrace -u ":fmt*" wc -lh
/etc/motdTrace all shared library function calls, as well as all system calls:
$ ltrace -t cu wc -lh
/etc/motdThe ltrace command appeared in
OpenBSD 5.4.
| September 30, 2023 | Debian |