Во время отладки переменные и исходный код видны в разных кадрах потока демона отладки. - PullRequest
0 голосов
/ 03 июля 2019

Давайте начнем с симптомов: когда я нахожусь в режиме отладки, использую перспективу отладки, на вкладке переменных вместо видимых переменных я вижу следующую ошибку com.sun.jdi.InternalException: Got error code in reply:35 occured retrieving 'this' from stack frame.

Через некоторое время я понял,что, когда выполнение достигает точки останова, на вкладке отладки я вижу код в одном кадре и переменные метода, в котором находится точка останова, в следующем кадре стека потоков демона отладки.

Некоторые подсказки для фреймов, которые я вижу только в коде.

  • Ну, во-первых, у меня эта проблема возникает только на моих собственных пользовательских классах, для любого другого стороннего библиотечного класса, кодаи переменные кажутся «синхронизированными», что означает, что я вижу их обоих в одном и том же кадре.
  • Имя кадра всегда начинается с <unknown receiving type>
  • Всегда существует одна и та же ошибкаcom.sun.jdi.InternalException: Got error code in reply:35 occured retrieving 'this' from stack frame

enter image description here

Некоторые подсказки о кадрах, которые я могу видеть переменные.

  • Вместо исходного кода я получаю Source not found и буtton для редактирования исходного пути поиска.
  • В свойствах пути сборки Java моего проекта я настроил правильные пути сборки, а также удалил два отсутствующих целевых пути сборки и впоследствии запустил чистый проект.

enter image description here

Общая информация о конфигурации моей установки и о том, что я пробовал до сих пор.

  • Я проверил оба Add variable attributes to generated class files (used by the debugger) и Add line number attributes to generated class files (used by the debugger) в конфигурации проекта Java-компилятора, так как многие ответы на подобные вопросы предлагают здесь в SO.
  • Как вы уже поняли, это, скорее всего, не связано с какой-либо конфигурацией макета / перспективы, посколькуесть кадры, где я могу видеть переменные столбцы.
  • JRE по умолчанию для проекта - jdk1.8.0_201, также я использую тот же JDK для STS4.
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.8.0_201\bin\javaw.exe
  • Сама IDE - это STS4.
    Версия: 4.1.2.RELEASE
    Идентификатор сборки: 201902210640

Как решитьэтот?Это действительно делает отладку неудобной, если не невозможной. *

...