ABCDEFGHIJKLMNOPQRSTUVWXYZ

ltrace

ltrace(1)                                                            ltrace(1)



NAME
       ltrace - A library call tracer


SYNOPSIS
       ltrace  [-dfiLSrtttChV]  [-a column] [-s strsize] [-o filename] [-n nr]
       [-l filename] [-u username] [-p pid] ... [-e expr] [--debug]  [--deman-
       gle]       [--align=column]      [--output=filename]      [--indent=nr]
       [--library=filename] [--help] [--version] [command [arg ...]]


DESCRIPTION
       ltrace is a program that simply runs the  specified  command  until  it
       exits.   It  intercepts and records the dynamic library calls which are
       called by the executed process and the signals which  are  received  by
       that  process.   It  can also intercept and print the system calls exe-
       cuted by the program.

       Its use is very similar to strace(1).


OPTIONS
       -d, --debug
              Increase the debugging level.  Use more (ie.  =dd ) for  greater
              debugging information.

       -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 as soon as its pid is known.

       -i     Print the instruction pointer at the time of the library call.

       -L     DON'T display library calls (use it with the -S option).

       -S     Display system calls as well as library calls

       -r     Print  a  relative  timestamp with each line of the trace.  This
              records the time difference between the beginning of  successive
              lines.

       -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.

       -C, --demangle
              Decode (demangle) low-level symbol names into user-level  names.
              Besides removing any initial underscore prepended by the system,
              this makes C++ function names readable.

       -a, --align column
              Align return values in a secific column (default column  is  5/8
              of screen width).

       -s     Specify the maximum string size to print (the default is 32).

       -o, --output filename
              Write  the  trace  output  to  the  file filename rather than to
              stderr.

       -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.

       -l, --library filename
              Display only the symbols included in the library  filename.   Up
              to  20  library names can be specified with several instances of
              this option.

       -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.

       -p pid Attach to the process with the process ID pid and begin tracing.

       -e expr
              A qualifying expression which modifies which  events  to  trace.
              The format of the expression is:
              [!]value1[,value2]...
              where  the values are the functions to trace.  Using an exclama-
              tion mark negates the set of  values.   For  example  -e  printf
              means  to  trace  only the printf library call.  By contrast, -e
              !printf means to trace every library call except printf.

              Note that some shells use  the  exclamation  point  for  history
              expansion; even inside quoted arguments.  If so, you must escape
              the exclamation point with a backslash.

       -h, --help
              Show a summary of the options to ltrace and exit.

       -V, --version
              Show the version number of ltrace and exit.


BUGS
       It has most of the bugs stated in strace(1).

       Manual page and documentation are not very up-to-date.

       Option -f sometimes fails to trace some children.

       It only works on Linux/i386, Linux/m68k, Linux/arm, and Linux/S390.

       Only ELF32 binaries are supported.

       If you like to report a bug, send a notice to the author,  or  use  the
       bug(1) program if you are under the Debian GNU/Linux distribution.


FILES
       /etc/ltrace.conf
              System configuration file

       ~/.ltrace.conf
              Personal config file, overrides /etc/ltrace.conf


AUTHOR
       Juan Cespedes <cespedes@debian.org>


SEE ALSO
       strace(1), ptrace(2)




                                                                     ltrace(1)