Single stepping bytecodes inside eclipse

Jochen Theodorou blackdrag at gmx.org
Wed Apr 4 19:20:52 UTC 2018


On 04.04.2018 20:07, Ioi Lam wrote:
> Hi,
> 
> I am trying to trace into the method handle linking code. I have a 
> program like this:
> 
>      // HelloHM.java:8        mh.invokeExact("yo!");
>      23:    aload_3;
>      24:    ldc    #9; //    String "yo!";
>      26:    invokevirtual    #10; //    Method 
> java/lang/invoke/MethodHandle.invokeExact:"(Ljava/lang/String;)V";
> 
> I want to be able to set a break point at bytecode 26, do a single step, 
> and then automatically land into the first bytecode of
> 
> java.lang.invoke.MethodHandleNatives.linkMethod
> 
> Well, I can't even figure out a way to display bytecodes inside eclipse, 
> or single step a single bytecode.

single step bytecode isn't a feature I did ever hear of. But you can use 
the asm bytecode outline plugin for eclipse to see the bytecode and you 
can set a breakpoint in Java code, which then shows up in the bytecode 
as well


> Also, I tried setting a breakpoint at MethodHandleNatives.linkMethodbut 
> eclipse simply ignores that. (I can set normal break points in my test 
> program's Java source code view).

at least in the past you could configure what trace elements are 
overstepped for the single step debugging.

> So am I out of luck? Do I need to fall back to println() or jdb?

println will not give you single stepping for bytecode

bye Jochen


More information about the mlvm-dev mailing list