JDB 忽略 Scala 对象中方法的断点

发布于 2024-12-19 15:16:38 字数 387 浏览 1 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

非要怀念 2024-12-26 15:16:38

重启 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文