Использование удаленного отладчика Eclipse вызывает com.sun.jdi.InternalException

Вызывается следующая ошибка:

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

Я получаю эту ошибку для всех выражений и не могу найти что-либо на ней. Я предполагаю, что отладчик неправильно подключается к удаленной версии, но я не уверен.

Ответы

Ответ 1

Похоже, что проблема связана с новой функцией отладки "Показать результат метода после пошаговой операции": см. Тему Eclipse Oxygen - Debugging Issue на форуме Eclipse:

Обходной путь должен пойти в Предпочтения → Java → Отладка и отключить опцию "Показать результат метода после операции шага (если поддерживается VM; может быть медленным)".

См. Также отчет об ошибке в Eclipse Bugzilla Bug 531706 - Oygen.2 com.sun.jdi.InternalException: получил код ошибки в ответе: 35 при отладке.

Ответ 2

Просто, чтобы быть уверенным: удаленная отладка какого-то инструментального кода?

Потому что, кажется, есть некоторые проблемы с JProfiler...

Ответ 3

Я также столкнулся с такой же проблемой на локальном сервере. Но это была проблема цикла for. Я использовал:

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

Когда я заменил этот код на простой для цикла (основанный на индексе), он разрешил вышеупомянутую проблему. Я думаю, что для каждого цикла не удалось выполнить итерацию другого списка одного и того же типа в том же цикле. Обход для этого - замена того, что для цикла для индекса, основанного на цикле.

Ответ 4

Я не уверен, но у меня есть много раз. Это происходит, когда я отлаживаю приложение, и я думаю, что это происходит, когда отладчик пытается обернуть исключение, которое возникает из-за кода. В одном случае при отладке, когда я вижу журналы, я получаю какое-то бизнес-исключение, но при отладке он дал мне com.sun.jdi.internalexception.

Да, я удаляю удаленную отладку серверов JVM, так что это также может быть причиной того, что отладчик неправильно подключается к удаленной версии, как вы указали