JDB 忽略 Scala 对象中方法的断点
我正在使用 JDB 来调试 Scala 代码,到目前为止它基本上可以工作。然而,一个特定的断点永远不会被击中,它是在 Scala 对象的方法上设置的(在方法入口处,而不是在特定行号上)。
当我单步执行代码时,我可以看到正在输入该方法,但无论我尝试多少次,都永远不会遇到断点。我设置的所有其他断点(包括同一项目中代码上的断点)都会被命中。
$ jdb -version
This is jdb version 1.6 (Java SE version 1.6.0_23)
我已经设置了带有和不带 $ 后缀的类名的断点。
这里可能有什么问题?
该类上没有其他同名的方法,因此即使我没有告诉 JDB 方法参数类型,但这也没关系 - 这里没有发生重载。
I am using JDB to debug Scala code, and it mostly works so far. However, one particular breakpoint is never hit, and it is set on a method of a Scala object (on method entry, not on a particular line number).
As I step through the code I can see that method being entered, but the breakpoint is never ever hit, no matter how many times I try. Every other breakpoint I have set, including breakpoints on code in the same project, is hit.
$ jdb -version
This is jdb version 1.6 (Java SE version 1.6.0_23)
I have set the breakpoint both with and without the $-suffixed class name.
What could be the problem here?
There is no other method with the same name on that class, so even though I haven't told JDB the method argument types, that shouldn't matter - there's no overloading going on here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
重启 jdb 后无法重现此问题。
无论如何,我不小心使用了来自不同 JDK (OpenJDK) 的 jdb。
I can't reproduce this after restarting jdb.
In any case, I was accidentally using jdb from a different JDK (OpenJDK).