调试时出现 com.sun.jdi.Invocation 异常

调试时出现 com.sun.jdi.Invocation 异常

所以我想在 StackOverflow 上问这个问题,但我被指向了这里,我正在用 Eclipse 做一些大学的计算机科学作业。我在调试自定义类时无法查看我的数据结构。当我尝试在变量表中展开我的类时,我所能看到的是:错误异常发生:调用方法时发生 com.sun.jdi.InvocationException。

我的课程是:从 AbstractCollection 扩展的 Hexboard 课程。

我对此进行了一些研究,似乎每个人都在谈论覆盖 toString 方法。无论我在 toString 的返回中输入什么,我仍然会得到相同的错误。

我还注意到,在学校计算机上处​​理完全相同的文件(通过 git 共享)时,我没有遇到这个问题,并且可以清楚地看到我的数据结构。

有人知道为什么我家用电脑的 eclipse 无法正确显示这个吗?正在考虑重新安装 eclipse。调试时无法看到我的变量真是令人沮丧。

感谢您的帮助 。

以下是调试器中的情况

更新我安装了 IntelliJ 并遇到了同样的问题,但被称为无法评估表达式方法引发“java.lang.AssertionError”异常。

我在这里进行了一些谷歌搜索,发现在 IntelliJ 中,我可以右键单击变量并选择“自定义数据视图”,然后取消切换“集合类的备用视图”。这样我就可以看到我的 HB 变量了。

但是我找不到 Eclipse 的相同选项?

答案1

哇哦,好吧我明白了!

我右键单击了变量窗口附近的某个地方,但不完全是(似乎无法重复这一点),然后进入一些首选项,其中有一个名为“逻辑结构”的选项卡,这里有关于 Eclipse Collection(java.util.Collection)返回 toArray()的代码;

我使用这些信息来谷歌

Eclipse Collection(java.util.Collection)“逻辑结构”返回

找到这个

https://stackoverflow.com/questions/48038169/disable-logical-structure-display-in-variables-view

我用它来添加一个类“HexBoard”并返回“test”;

现在我的调试变量窗口可以正确显示我的十六进制板.....

我不知道,但它确实有效。

相关内容