home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3998 / README < prev    next >
Encoding:
Text File  |  1991-09-09  |  2.3 KB  |  67 lines

  1. /*
  2.  * @(#)README    1.4 91/09/06
  3.  *
  4.  * Copyright (C) 1991 Paul Kranenburg.
  5.  *
  6.  * Please send comments, enhancements or any other useful ideas to
  7.  * the address at the end of this file.
  8.  *
  9.  */
  10.  
  11. strace(1) is a system call tracer for Sun(tm) systems much like the
  12. Sun supplied program trace(1). strace(1) is a useful utility to sort
  13. of debug programs for which no source is available which unfortunately
  14. includes almost all of the Sun supplied system software.
  15.  
  16. Like trace(1), strace displays each system call and its arguments as it
  17. is invoked by the traced process, but tries to do a better job of
  18. decoding the arguments, displaying them in symbolic format whenever
  19. possible. Passed structures/character arrays are read from the process'
  20. address space and displayed in an appropriate format.
  21.  
  22. It is also possible to instruct strace to trace child processes as
  23. they are created by the fork(2) system call. However, this is slightly
  24. involved for two reasons: 1) the trace flag is cleared in the child
  25. process by the fork system call, so we must make a special effort to
  26. gain control of the child (see NOTES below), 2) our tracing manipulations
  27. of the child may interfere with a possible wait(2) system call executed
  28. by the (also traced) parent process. In this case we don't allow the parent
  29. to continue until one of its children enters a state that may cause the
  30. parent's wait(2) call to return.
  31.  
  32.  
  33. NOTES.
  34.  
  35. o    Not all system calls have been implemented yet as described
  36.     above (see dummy.h for a list), these calls only have their args
  37.     displayed as hex numbers.
  38.  
  39. o    The program draws heavily on Sun's extensions to the ptrace(2)
  40.     system call.
  41.  
  42. o    This release is based upon SunOS 4.1.1. The syscall list (syscall.h)
  43.     and ioctl's (ioctlent.h) are probably most critically dependant
  44.     on the OS version (see also /sys/os/init_sysent.c).
  45.  
  46. o    The way in which child processes are caught and attached to after
  47.     the fork() call is Sparc-specific (in fact it has the looks of a
  48.     terrible hack). Also, this trick won't work with vfork(2).
  49.     Enhancements are sollicited for.
  50.  
  51.  
  52. INSTALLATION.
  53.  
  54.     Edit the paths in the Makefile to suit your local system.
  55.     Enter the usual make commands (`make debug' to enable the
  56.     compiler `-g' flag).
  57.  
  58.  
  59. COMMENTS TO:
  60.  
  61.     P. Kranenburg
  62.     Department of Computer Science
  63.     Erasmus University Rotterdam
  64.     P.O. Box 1738
  65.     NL-3000 DR Rotterdam
  66.     e-mail: pk@cs.few.eur.nl
  67.