Reformatting page.  Please Wait... done


User Commands                                          SOTRUSS(1)


NAME
     sotruss - trace shared library procedure calls

SYNOPSIS
     /usr/bin/sotruss [-f] [-F bindfromlist] [-T bindtolist]
          [-o outputfile] executable [executable arguments...]


DESCRIPTION
     sotruss executes the specified command and produces a  trace
     of  the  library  calls  that  it performs. Each line of the
     trace output reports what  bindings  are  occurring  between
     dynamic  objects as each procedure call is executed. sotruss
     traces all of the procedure calls that occur between dynamic
     objects  via the Procedure Linkage Table, so only those pro-
     cedure calls which are bound via the Procedure Linkage Table
     will be traced. See Linker and Libraries Guide

OPTIONS
     -F bindfromlist
                        A colon-separated list of libraries  that
                        are  to be traced.  Only calls from these
                        libraries will be traced.  The default is
                        to  trace  calls from the main executable
                        only.


     -T bindtolist
                        A colon-separated list of libraries  that
                        are  to  be  traced.  Only calls to these
                        libraries will be traced.  The default is
                        to trace all calls.


     -o outputfile
                        sotruss output will be  directed  to  the
                        outputfile.  If  this  option is combined
                        with the  -f option then the  pid of  the
                        executing  program  will be placed at the
                        end of the filename. By  default  sotruss
                        output is placed on  stderr.


     -f
                        Follow all children  created  by   fork()
                        and  print   truss  output  on each child
                        process.  This option will also  cause  a
                        pid  to  be  output  on each truss output
                        line.


Illumos             Last change: May 12, 1997                   1


User Commands                                          SOTRUSS(1)


EXAMPLES
     Example 1 An example of sotruss.


     A simple example shows the tracing of a simple ls command:


       % sotruss ls | more
       ls       ->     libc.so.1:*atexit(0xef7d7d1c, 0x23c00, 0x0)
       ls       ->     libc.so.1:*atexit(0x1392c, 0xef7d7d1c, 0xef621bb0)
       ls       ->     libc.so.1:*setlocale(0x6, 0x1396c, 0xef621ba8)
       ls       ->     libc.so.1:*textdomain(0x13970, 0x1396c, 0xef621ba8)
       ls       ->     libc.so.1:*time(0x0, 0xef61f6fc, 0xef621ba8)
       ls       ->     libc.so.1:*isatty(0x1, 0xef61f6fc, 0x0)
       ls       ->     libc.so.1:*getopt(0x1, 0xeffff8fc, 0x13980)
       ls       ->     libc.so.1:*malloc(0x100, 0x0, 0x0)
       ls       ->     libc.so.1:*malloc(0x9000, 0x0, 0x0)
       ls       ->     libc.so.1:*lstat64(0x23ee8, 0xeffff7a0, 0x0)
       ...
       ls       ->     libc.so.1:*printf(0x13a64, 0x26208, 0x23ef0)
       ls       ->     libc.so.1:*printf(0x13a64, 0x26448, 0x23ef0)
       ls       ->     libc.so.1:*exit(0x0, 0x24220, 0x2421c)


SEE ALSO
     ld.so.1(1)truss(1)whocalls(1)fork(2)attributes(5)


     Linker and Libraries Guide


Illumos             Last change: May 12, 1997                   2