mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-25 11:37:56 +00:00
0cf21b4f58
type which is a String type that has no -s limitations applied to it. Change most Strings in the code to Names and add a few extra syscalls, namely munmap, read, rename and symlink. This was enough to facilitate following file descriptor allocations in the code more easily and getting a hint at what's being read/written from/to files. More syscalls should really be added. While here, fix an off-by-one bug in the buffer truncation code and add a fflush so that truss's output reflects the syscall that the program is stuck in. Sponsored by: Sophos/Activestate MFC after: 2 weeks
111 lines
2.2 KiB
Groff
111 lines
2.2 KiB
Groff
.\" $FreeBSD$
|
|
.\"
|
|
.Dd September 3, 2004
|
|
.Dt TRUSS 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm truss
|
|
.Nd trace system calls
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl faedDS
|
|
.Op Fl o Ar file
|
|
.Op Fl s Ar strsize
|
|
.Fl p Ar pid
|
|
.Nm
|
|
.Op Fl faedDS
|
|
.Op Fl o Ar file
|
|
.Op Fl s Ar strsize
|
|
command
|
|
.Op args
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
utility traces the system calls called by the specified process or program.
|
|
Output is to the specified output file, or standard error by default.
|
|
It does this by stopping and restarting the process being monitored via
|
|
.Xr procfs 5 .
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Fl f
|
|
Trace descendants of the original traced process created by
|
|
.Xr fork 2 ,
|
|
.Xr vfork 2 ,
|
|
etc.
|
|
.It Fl a
|
|
Show the argument strings that are passed in each
|
|
.Xr execve 2
|
|
system call.
|
|
.It Fl e
|
|
Show the environment strings that are passed in each
|
|
.Xr execve 2
|
|
system call.
|
|
.It Fl d
|
|
Include timestamps in the output showing the time elapsed
|
|
since the trace was started.
|
|
.It Fl D
|
|
Include timestamps in the output showing the time elapsed
|
|
since the last recorded event.
|
|
.It Fl S
|
|
Do not display information about signals received by the process.
|
|
(Normally,
|
|
.Nm
|
|
displays signal as well as system call events.)
|
|
.It Fl o Ar file
|
|
Print the output to the specified
|
|
.Ar file
|
|
instead of standard error.
|
|
.It Fl s Ar strsize
|
|
Display strings using at most
|
|
.Ar strsize
|
|
characters.
|
|
If the buffer is larger,
|
|
.Qq ...
|
|
will be displayed at the end of the string.
|
|
The default
|
|
.Ar strsize
|
|
is 32.
|
|
.It Fl p Ar pid
|
|
Follow the process specified by
|
|
.Ar pid
|
|
instead of a new command.
|
|
.It Ar command Op args
|
|
Execute
|
|
.Ar command
|
|
and trace the system calls of it.
|
|
(The
|
|
.Fl p
|
|
and
|
|
.Ar command
|
|
options are mutually exclusive.)
|
|
.El
|
|
.Pp
|
|
The
|
|
.Xr procctl 8
|
|
utility can be used to clear tracepoints in a stuck process
|
|
left behind if
|
|
.Nm
|
|
terminates abnormally.
|
|
.Sh EXAMPLES
|
|
# Follow the system calls used in echoing "hello"
|
|
.Dl $ truss /bin/echo hello
|
|
# Do the same, but put the output into a file
|
|
.Dl $ truss -o /tmp/truss.out /bin/echo hello
|
|
# Follow an already-running process
|
|
.Dl $ truss -p 1
|
|
.Sh SEE ALSO
|
|
.Xr kdump 1 ,
|
|
.Xr ktrace 1 ,
|
|
.Xr procfs 5 ,
|
|
.Xr procctl 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command was written by
|
|
.An Sean Eric Fagan
|
|
for
|
|
.Fx .
|
|
It was modeled after
|
|
similar commands available for System V Release 4 and SunOS.
|