![调试时出现 com.sun.jdi.Invocation 异常](https://linux22.com/image/1587242/%E8%B0%83%E8%AF%95%E6%97%B6%E5%87%BA%E7%8E%B0%20com.sun.jdi.Invocation%20%E5%BC%82%E5%B8%B8.png)
所以我想在 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”;
现在我的调试变量窗口可以正确显示我的十六进制板.....
我不知道,但它确实有效。 看