-
Notifications
You must be signed in to change notification settings - Fork 29
Jacobin Tracing
Jacobin contains a tracing facility with a set of independent areas of coverage. Unlike traditional logging functions that are vertical in nature (severe, warning, info, etc.), the jacobin trace subsystem is horizontal in nature. In this way, developers and users can capture activity on one or more a selected subsystems.
To enable tracing, the following keyword parameter is employed:
-trace=<selections> display selected tracing to the console
where the <selections> are one or more of the following separated by commas (,):
* init - process initilization
* cloadi - classloader initialization
* inst - bytecode interpreter trace
* class - class & method support for the interpreter
* verbose - inst, class, and more details of the interpreter
For example, to trace just the process initialization and the class loader initialization, one would specify the following on the command line:
jacobin -trace=init,cloadi <starting class or jar file>
To see a trace of the bytecodes executed and and the names of external classes and methods linked to, one would specify the following on the command line:
jacobin -trace=inst <starting class or jar file>
Add to this the supporting class activity of the instructional trace:
jacobin -trace=inst,class <starting class or jar file>
An even fuller trace of instructions that shows more detail such as constant/variable push and pop in the current frame:
jacobin -trace=verbose <starting class or jar file>
Note that the latter does not include process or class initialization.