使用Eclipse远程调试器会抛出com.sun.jdi.InternalException

23 java eclipse debugging

抛出以下错误:

com.sun.jdi.InternalException: Got error code in reply:35 occurred while retrieving value. for all expressions
Run Code Online (Sandbox Code Playgroud)

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

Yet*_*eti 17

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

解决方法是转到Preferences - > Java - > Debug并禁用选项"在步骤操作后显示方法结果(如果VM支持;可能很慢)".

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


小智 5

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

for(Object obj: list)
{
    for(Object obj2 : list)
    {}
}
Run Code Online (Sandbox Code Playgroud)

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


小智 5

如果在调试时在“表达式”选项卡中打开“逻辑结构”,即使在 Eclipse IDE 版本 4.11.0 中,这似乎仍然会导致问题。把它关掉对我有帮助。它本身不是一个“解决方案”,而是一种解决方法。

请参阅Eclipse 错误 48815


Von*_*onC 4

只是为了确定:您是否正在远程调试一些已检测的代码?

因为JProfiler似乎有一些问题......