使用 Eclipse 远程调试器会引发 com.sun.jdi.InternalException

2022-09-01 08:51:28

引发以下错误:

com.sun.jdi.InternalException: Got error code in reply:35 occurred while retrieving value. for all expressions

我收到所有表达式的此错误,并且找不到任何内容。我的猜测是调试器没有正确连接到远程版本,但我不确定。


答案 1

看起来问题与新的调试功能“步骤操作后显示方法结果”有关:请参阅 Eclipse 论坛上的线程 Eclipse Oxygen - 调试问题

解决方法是转到首选项 -> Java ->调试“并禁用选项”在步骤操作后显示方法结果(如果 VM 支持;可能很慢)”。

另请参阅 Eclipse Bugzilla Bug 531706中的 bug 报告 - Oygen.2 com.sun.jdi.InternalException:在调试时收到回复中的错误代码:35


答案 2

我在本地服务器上也遇到了同样的问题。但是,这是循环的问题。我正在使用:for

for(Object obj: list)
{
    for(Object obj2 : list)
    {}
}

当我用简单的for循环(基于索引)替换该代码时,它解决了上述问题。我认为对于每个循环,无法在同一循环中迭代同一类型的另一个列表。解决这个问题是将 for 循环替换为基于 for 循环的索引。