diff options
Diffstat (limited to 'README-sunos4')
-rw-r--r-- | README-sunos4 | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/README-sunos4 b/README-sunos4 new file mode 100644 index 0000000..1fa8ae2 --- /dev/null +++ b/README-sunos4 @@ -0,0 +1,85 @@ +======================================================================== +This is the unmodified README from Paul Kranenburg's release of strace +for SunOS 4.1.x. Some of the notes and instructions are no longer valid +however the file has been retained for its historical value. -- jrs +======================================================================== + +/* + * @(#)README 2.4 92/01/21 + * + * 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.m4) are probably most critically dependant + on the OS version (see also /sys/os/init_sysent.c). + You may have to edit `ioctlsort.c' and/or `ioctlent.m4' to get + `ioctlsort.c' to compile with your suite of system header files. + +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. + +o Dynamically linked executables can be convinced to use the fork(2) + system call in stead of vfork(2) by modifying their (internal) + symbol table immediately after such a program is exec'ed. Be + warned that programs which depend on vfork's peculiar semantics + may not run as expected. Enable by the `-F' switch. + + +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). + + Not all sites have a complete set of include files, depending + on the selected software categories at OS install time. The + makefile tries to detect the presence of the Sunview category, + if other files are missing you may have to edit `ioctlent.h'. + + +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 |