Copyright (c) 1997-2005 Juan Cespedes <cespedes@debian.org>
This file is covered by the GNU GPL
Its use is very similar to strace(1) .
-a, --align column Align return values in a specific column (default column is 5/8 of screen width).
-A maxelts Maximum number of array elements to print before suppressing the rest with an ellipsis ("...")
-b, --no-signals Disable printing of signals recieved by the traced process.
-c Count time and calls for each library call and report a summary on program exit.
-C, --demangle Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prefix used by the system, this makes C++ function names readable.
-D, --debug level Show debugging output of ltrace itself. level must be a sum of some of the following numbers:
01 DEBUG_GENERAL. Shows helpful progress information
010 DEBUG_EVENT. Shows every event received by a traced program
020 DEBUG_PROCESS. Shows every action ltrace carries upon a traced process
040 DEBUG_FUNCTION. Shows every entry to internal functions
-e filter A qualifying expression which modifies which library calls to trace. The format of the filter expression is described in the section FILTER EXPRESSIONS. If more than one -e option appears on the command line, the library calls that match any of them are traced. If no -e is given, @MAIN is assumed as a default.
-f Trace child processes as they are created by currently traced processes as a result of the fork(2) or clone(2) system calls. The new process is attached immediately.
-g Do not place breakpoints on PLT entries. This option reduces the output of ltrace. This is commonly used to avoid tracing libc functions.
-F Load an alternate config file. Normally, /etc/ltrace.conf and ~/.ltrace.conf will be read (the latter only if it exists). Use this option to load the given file or files instead of those two default files.
-h, --help Show a summary of the options to ltrace and exit.
-i Print the instruction pointer at the time of the library call.
-l, --library filename Display only the symbols included in the library filename. Up to 30 library names can be specified with several instances of this option.
-L DON'T display library calls (use it with the -S option).
-n, --indent nr Indent trace output by nr number of spaces for each new nested call. Using this option makes the program flow visualization easy to follow.
-o, --output filename Write the trace output to the file filename rather than to stderr.
-p pid Attach to the process with the process ID pid and begin tracing.
-r Print a relative timestamp with each line of the trace. This records the time difference between the beginning of successive lines.
-s strsize Specify the maximum string size to print (the default is 32).
-S Display system calls as well as library calls
-t Prefix each line of the trace with the time of day.
-tt If given twice, the time printed will include the microseconds.
-ttt If given thrice, the time printed will include the microseconds and the leading portion will be printed as the number of seconds since the epoch.
-T Show the time spent inside each call. This records the time difference between the beginning and the end of each call.
-u username Run command with the userid, groupid and supplementary groups of username . This option is only useful when running as root and enables the correct execution of setuid and/or setgid binaries.
-w, --where NR Show backtrace of NR stack frames for each traced function. This option enabled only if libunwind support was enabled at compile time.
-x filter A qualifying expression which modifies which symbol table entry points to trace. The format of the filter expression is described in the section FILTER EXPRESSIONS. If more than one -x option appears on the command line, the symbols that match any of them are traced. No entry points are traced if no -x is given.
-V, --version Show the version number of ltrace and exit.
Manual page and documentation are not very up-to-date.
Option -f sometimes fails to trace some children.
It only works on Linux and in a small subset of architectures.
If you would like to report a bug, send a message to the mailing list (ltrace-devel@lists.alioth.debian.org), or use the reportbug(1) program if you are under the Debian GNU/Linux distribution.
/etc/ltrace.conf System configuration file
~/.ltrace.conf Personal config file, overrides /etc/ltrace.conf
Petr Machata <pmachata@redhat.com>