vmlog is a software module for doing fast call logging in free Java VMs and a set of tools for examining the created logfiles.

Some features of vmlog:

Right now there are complete interfaces for the following VMs:

vmlog is free software distributed under the GPL.


vmlog-0.0.5 (.tar.gz)
vmlog-0.0.4 (.tar.gz)
vmlog-0.0.3 (.tar.gz)
vmlog-0.0.2 (.tar.gz)
vmlog-0.0.1 (.tar.gz)
vmlog-0.0.0 (.tar.gz)

See the file README in the tarball for more information.


Showing open call frames

Using vmlogdump -o you can examine the open call frames at the current end of a log file. The following example shows the open call frames after a regular shutdown of Eclipse in CACAO.

edwin@yukon:~/nobackup/eclipse$ ~/dev/vmlog/vmlogdump -o cacao
  0: (     16560) org/eclipse/core/launcher/Main.main([Ljava/lang/String;)V
  1: (  18107639) java/lang/System.exit(I)V
  2: (  18107642) java/lang/Runtime.exit(I)V
  3: (  18107725) java/lang/Runtime.halt(I)V
  4: (  18107726) java/lang/VMRuntime.exit(I)V

You can dump selected regions of a log file using the -r option to vmlogdump (Note: the -n option is for showing the sequence numbers of the log entries.)

edwin@yukon:~/nobackup/eclipse$ ~/dev/vmlog/vmlogdump cacao -r 18107639:18107642 -n
1:  (  18107639)    enter java/lang/System.exit(I)V
2:  (  18107640)        enter java/lang/Runtime.getRuntime()Ljava/lang/Runtime;
2:  (  18107641)        leave java/lang/Runtime.getRuntime()Ljava/lang/Runtime;
2:  (  18107642)        enter java/lang/Runtime.exit(I)V

Valid HTML 4.01!