Want to see what the C++ interpreter is up to in gdb?
(gdb) bt ... #6 0x0f42155c in BytecodeInterpreter::run (istate=0xd0f7e55c) at bytecodeInterpreter.cpp:857 ... (gdb) call PI(0xd0f7e55c) thread: 0x10108650 bcp: 0xf20efe8b locals: 0xd0f7e5b4 constants: 0xf20f01f8 method: 0xf20efea8[ javasoft.sqe.tests.vm.jdwp.StackFrame.PopFrames.popframes001a$TestedThreadClass.testedMethod(I)I ] mdx: 0x00000000 stack: 0xd0f7e558 msg: no_request result_to_call._callee: 0xf2070188 result_to_call._callee_entry_point: 0xf5e95184 result_to_call._bcp_advance: 3 osr._osr_buf: 0xf2070188 osr._osr_entry: 0xf5e95184 result_return_kind 0xf2070188 prev_link: 0x00000000 native_mirror: 0x00000000 stack_base: 0xd0f7e55c stack_limit: 0xd0f7e54c monitor_base: 0xd0f7e55c self_link: 0xd0f7e55c
Time to write some OpenJDK plugins for python-gdb! You could write a backtrace filter and have it show the interpreter state directly when you type ‘bt’.
Nice :)