kVMTrace comes in three pieces:
The kernel patch: By patching, compiling, and installing a Linux 2.4.20 kernel, your system will be capable of logging all virtual memory and file system references.
The tracing activator: A simple program that you execute once a kVMTrace-patched kernel is running. It activates kernel-event logging (always active) and allows you to toggle reference-event logging.
The merger utility: kVMTrace emits both a kernel-events log and a reference-events log. This utility reads these two logs, reconstructing the relevant state of every process and thread as it runs, reconciling shared memory uses, and emitting a final reference trace in one of many forms. That is, it can emit either single reference trace of all references as performed by the interleaved tasks, or it can emit one reference trace file per task.
The kernel patch: Note than the given User-mode Linux patch must be applied first, since that platform was used for initial development of the kVMTrace patch. Some day, it will be removed. Also note that these patches have been tested on a VMware system and on one real, generic x86 system (ASUS motherboard w/ Pentium 4, SiS chipset). Finally, note that there are no ports to non-x86 platforms. It should be easy, but it hasn't been done.
kVMTrace kernel patch v0.4.4: The last of the v0.4 line. Stable but contains a few semantic errors and uses a slower reference-events logging method.
kVMTrace kernel patch v0.5.0: Seems to be stable, but not as thoroughly tested yet. Semantic errors fixed and a faster reference-event logging method.
The activator: Only one version of this one...
Activator: For v0.4 and v0.5 kernel patches
Merger: Later merger version should be able to handle logs produced by earlier kernel patch versions, but older merger versions are available just in case.
Merger v0.4.4.2: Works on v0.4 kernel patch output. Well debugged and stable, although the code structure is a bit ugly. Along with the v0.4 kernel patches, there are some semantic errors here (e.g. mmap()'ed devices are treated like mmap()'ed files, even though they don't represent cacheable space.)
Merger v0.5.0.2: Works on v0.4 and v0.5 kernel patch output formats. Also table, and the code structure is somewhat nicer. All known semantic errors from the merger v0.4 line are fixed.