add directory bin
This commit is contained in:
66
bin/strace.README
Normal file
66
bin/strace.README
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* @(#)README 1.4 91/09/06
|
||||
*
|
||||
* Copyright (C) 1991 Paul Kranenburg.
|
||||
*
|
||||
* Please send comments, enhancements or any other useful ideas to
|
||||
* the address at the end of this file.
|
||||
*
|
||||
*/
|
||||
|
||||
strace(1) is a system call tracer for Sun(tm) systems much like the
|
||||
Sun supplied program trace(1). strace(1) is a useful utility to sort
|
||||
of debug programs for which no source is available which unfortunately
|
||||
includes almost all of the Sun supplied system software.
|
||||
|
||||
Like trace(1), strace displays each system call and its arguments as it
|
||||
is invoked by the traced process, but tries to do a better job of
|
||||
decoding the arguments, displaying them in symbolic format whenever
|
||||
possible. Passed structures/character arrays are read from the process'
|
||||
address space and displayed in an appropriate format.
|
||||
|
||||
It is also possible to instruct strace to trace child processes as
|
||||
they are created by the fork(2) system call. However, this is slightly
|
||||
involved for two reasons: 1) the trace flag is cleared in the child
|
||||
process by the fork system call, so we must make a special effort to
|
||||
gain control of the child (see NOTES below), 2) our tracing manipulations
|
||||
of the child may interfere with a possible wait(2) system call executed
|
||||
by the (also traced) parent process. In this case we don't allow the parent
|
||||
to continue until one of its children enters a state that may cause the
|
||||
parent's wait(2) call to return.
|
||||
|
||||
|
||||
NOTES.
|
||||
|
||||
o Not all system calls have been implemented yet as described
|
||||
above (see dummy.h for a list), these calls only have their args
|
||||
displayed as hex numbers.
|
||||
|
||||
o The program draws heavily on Sun's extensions to the ptrace(2)
|
||||
system call.
|
||||
|
||||
o This release is based upon SunOS 4.1.1. The syscall list (syscall.h)
|
||||
and ioctl's (ioctlent.h) are probably most critically dependant
|
||||
on the OS version (see also /sys/os/init_sysent.c).
|
||||
|
||||
o The way in which child processes are caught and attached to after
|
||||
the fork() call is Sparc-specific (in fact it has the looks of a
|
||||
terrible hack). Also, this trick won't work with vfork(2).
|
||||
Enhancements are sollicited for.
|
||||
|
||||
|
||||
INSTALLATION.
|
||||
|
||||
Edit the paths in the Makefile to suit your local system.
|
||||
Enter the usual make commands (`make debug' to enable the
|
||||
compiler `-g' flag).
|
||||
|
||||
|
||||
COMMENTS TO:
|
||||
|
||||
P. Kranenburg
|
||||
Department of Computer Science
|
||||
Erasmus University Rotterdam
|
||||
P.O. Box 1738
|
||||
NL-3000 DR Rotterdam
|
||||
e-mail: pk@cs.few.eur.nl
|
||||
Reference in New Issue
Block a user