Library-based Interception

This method is a technique where the system I/O library is replaced by a modified version that has been instrumented with FlowTracer. Without changing the source code of the tools, this technique is in fact a form of low-level instrumentation. The routines in the modified I/O library behave exactly as those in the original system library, except that a few additional calls to the VIL functions are made to declare the I/O behavior of the tool.

Because the runtime interception library is sensitive to all file I/O, it is most important to have a well-defined exclusion file to eliminate uninteresting files from the resulting trace. No other preparations are necessary.

To activate runtime interception, use the wrapper vrt or vw2. The command line options to vrt are similar to those of vw, and the method of invocation is the same:
% vrt cc -o prog src1.o src2.o src3.o

This technique is avalable for Linux.

Requirements for Linux

vrt only applies to executables linked with the dynamic C library. To find out if an executable qualifies, you can use the utilities file and ldd as in the following example:
% file /bin/ls
/bin/ls: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped