我在尝试调试grails中的某些代码时遇到了困难。很难投入到文本中,因此我发布了一个截屏视频,准确显示了问题here。简而言之,在我调试时,调试器开始从一个地方跳到另一个地方,而不是遵循我所拥有的程序逻辑。我发现的唯一其他类似问题是一年之久,没有解决方案,可以找到here。
我到目前为止最好的猜测是调试器显示我输入的文本,但实际上是在执行某个已缓存的类文件的旧版本。因此,我试过了:
这些解决方案都没有任何效果。我意识到问题出在一个.groovy文件中,我写的几乎是纯Java,所以我删除了.groovy文件,并在.java文件中重新创建了该类。这解决了我的问题。不幸的是我再次遇到了这个问题,而这次是在一个严重依赖grails框架的控制器中,所以解决方案不是一个选择。除了也在.groovy文件中,另一个相似之处是代码在if语句中断开。
我的下一步:
感谢任何帮助,由于我无法在线找到任何答案,因此我将继续更新此问题。
答案 0 :(得分:1)
查看我对jira issue that you raised的评论。您发现了groovy编译器的问题以及它如何计算行号。这不是执行错误的类文件或使用损坏的调试器的问题。调试器正在完成预期的工作。编译器提供错误的行号信息。
问题中描述的下一步是提供一个重新创建bug的简单项目。我试图自己这样做,但不能。所以,请提供我们可以使用的东西。然后我们可以通知groovy编译器团队。