This extension is created primarily to demonstrate the flexible systemcall emulation service structure, so it won't serve any practical purpose now.
It's interesting to compare this service with
trace command supported in some UNIXes(e.g., Sun OS).
rest under construction.
MachineTrap.Syscall event. Dlib extension itself and
the tracer are both dispatched for a single system call event. The tracer is
invoked first(by specifying
Dispatcher.Opt.First to Dispatcher.Install).
It records the register packet, and passes the control to the
next event handler, which is usually the Dlib extension.
When the log becomes full, it is output to a remote host using the UDP
protocol. The name of the remote host is specified by the
tracer shell command described later.
script -b, all you have to do is
!>nanny touch tracerThe tracer installs a shell command
tracer when it's
loaded. All the functions of the tracer can be controlled via this
command.
tracer on host
tracer fancy host
tracer on, except that the tracer
uses fancy logging format. Fancy logging format records each
system call name(instead of system call number), and
for arguments that are supposed to be a text type, it
records the text pointed to by the register
instead of register value itself.
Of course, all these fanciness makes logging very slow.
tracer fake host
tracer on, except that the tracer
doesn't output any packets to the network. This sounds meaningless,
but it serves as a basepoint for performance comparison.
tracer off
yasushi@cs.washington.edu