[ https://issues.apache.org/jira/browse/GROOVY-9076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16822008#comment-16822008 ]
Eric Milles commented on GROOVY-9076: ------------------------------------- How is the code compiled? That is, what are the groovyc settings used? I have found that using the "indy" option instead of the default "fast-path" code generation yields simpler bytecode for the debugger to understand. In the default mode, most methods have two paths through them and both paths get assigned the line number information of the method. This tends to confuse the debugger. > Debugger Step Into doesn't work in Groovy-compiled classes > ---------------------------------------------------------- > > Key: GROOVY-9076 > URL: https://issues.apache.org/jira/browse/GROOVY-9076 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.5.6 > Environment: $ java -version > java version "1.8.0_211" > Java(TM) SE Runtime Environment (build 1.8.0_211-b12) > Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode) > Reporter: Daniil Ovchinnikov > Priority: Blocker > > Please see https://github.com/dovchinnikov/debug-groovy-bug > {code:title=GC.groovy} > package foo.bar > class GC { > GC() { > int i = 42 > } > int getStuff() { > return 70 > } > } > {code} > {code:title=GMain.groovy} > package foo.bar > class GMain { > static void main(String[] args) { > new GC().stuff // set breakpoint here > } > } > {code} > This issue is reproducible with plain raw jdb: > {noformat} > $ ./gradlew clean classes > $ jdb -classpath build/classes/groovy/main:<path to groovy-2.5.6.jar> > {noformat} > Inside jdb prompt: > {noformat} > > sourcepath src/main/groovy > > exclude > > java.*,sun.*,com.sun.*,groovy.*,org.codehaus.groovy.*,org.apache.groovy.* > > stop in foo.bar.GMain.main > > run foo.bar.GMain > {noformat} > Then {{step}} until the end and observe the behaviour. -- This message was sent by Atlassian JIRA (v7.6.3#76005)