Even though SVR4 has truss, you may prefer using strace for a number
of reasons.  Not the least of which are portability and source code.

The main event loop is awkward on systems for which procfs isn't
pollable.  I think a pollable procfs is a Solaris invention so most SVR4
systems have this weakness.  On Solaris, strace runs as a single
controlling process.  This is a big improvement if you are debugging a
lot of processes at once.

There is no thread support but it wouldn't be very difficult to add it.

On UnixWare using the -f option to follow forked children sometimes shows
many "unfinished" system calls as strace bounces between each runnable child.
A crude workaround for this is available by adding

    #define POLL_HACK 1

to the config.h file.  This forces strace to check whether the last process
has finished a system call before polling other processes for events.

Wichert Akkerman <wakkerma@debian.org>
