whocalls(1) User Commands whocalls(1)NAME
whocalls - report on the calls to a specific procedure
SYNOPSIS
whocalls [-l wholib] [-s] funcname executable
[arguments]...
DESCRIPTION
whocalls is a simple example of a utility based on the Link-Auditing functionality of ld.so.1(1) that permits the tracking of a given func-
tion call. See the Linker and Libraries Guide for a detailed description of the Link-Auditing mechanism. The executable is run as normal
with any associated arguments. Each time the procedure funcname is called, both the arguments to that procedure and a stack trace are dis-
played on standard output.
OPTIONS
The following options are supported:
-l wholib Specifies an alternate who.so Link-Auditing library to use.
-s When available, examines and uses the .symtab symbol table for local symbols. This is a little more expensive than using the
.dynsym symbol table, but can produce more detailed stack trace information.
EXAMPLES
Example 1 Tracking Function Calls
The following example tracks the calls to printf() made by a simple helloworld program:
example% whocalls printf helloworld
printf(0x106e4, 0xef625310, 0xef621ba8)
helloworld:main+0x10
helloworld:_start+0x5c
Hello World
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWtoo |
+-----------------------------+-----------------------------+
SEE ALSO ld.so.1(1), sotruss(1), attributes(5)
Linker and Libraries Guide
SunOS 5.11 3 Jul 2007 whocalls(1)
Check Out this Related Man Page
sotruss(1) 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 procedure calls which are bound via the Procedure Linkage Ta-
ble 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.
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)
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWtoo |
+-----------------------------+-----------------------------+
SEE ALSO ld.so.1(1), truss(1), whocalls(1), fork(2), attributes(5)
Linker and Libraries Guide
SunOS 5.11 12 May 1997 sotruss(1)