[comp.sys.sgi] TRACE for the IRIX !

chouinar@centrcn.umontreal.ca (Luc Chouinard) (03/06/91)

Here is a program I wrote (which is the equivalent of SUN's TRACE(1))
for the IRIX.

It worked with IRIX 3.2.2 and was finished on IRIX 3.3.1.

It's really helpfull in :

   - first hand debugging.
   - Software Installation debugging.
   - Debugging binary only products.
     Including IRIX.

More then SUN's version, the subprocesses created
by the initial process are also traced (fork and sproc).

Here is an exemple of output generated by 
the command 'trace ls'

---------

<trace>[11551] : time(tloc=0x0)...
<trace>[11551] : SUCCES(668190901).
<trace>[11551] : execve("/bin/ls", *argv[]=(), envp=0x7fffc7a0)...
<trace>[11551] : SUCCES(0).
<ls>[11551] : time(tloc=0x0)...
<ls>[11551] : SUCCES(668190902).
<ls>[11551] : brk(inc=268477008)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : brk(inc=268485200)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : brk(inc=268485200)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : brk(inc=268501584)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : lstat(".", stuct stat)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : open(".", 00)...
<ls>[11551] : SUCCES(4).
<ls>[11551] : fstat(4, struct stat *buf=0x7fffc548)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : getdents(fd=4, buf=0x1000ea70, nbytes=4096)...
<ls>[11551] : SUCCES(44).
<ls>[11551] : getdents(fd=4, buf=0x1000ea70, nbytes=4096)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : close(4)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : ioctl(fd=1, req=052010)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : write(fd=1, buf="file1
", nbytes=6)...
file1
<ls>[11551] : SUCCES(6).
<ls>[11551] : close(0)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : close(1)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : close(2)...
<ls>[11551] : SUCCES(0).
<ls>[11551] : exit(0)...

---------

   Just UUDECODE the rest of this file and compile trace.c

   uudecode <file>
   uncompress trace10.tar.Z
   tar xvof trace10.tar
   cc trace.c -o trace

begin 644 trace10.tar.Z
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
97IDPB*K]<T<8[H:J>6X6V@P&NOUG("(P",\+
`
end
-- 
+---------------------------------------------------------+
| Luc Chouinard                   Computer Center         |
| System Administrator            University of Montreal  |
| Excuse my english...it's the content that counts ?  :)  |
+---------------------------------------------------------+