Не мог осмотреть переменные на затмении

Case операторы [только 115] маркируют . Это означает, что компилятор интерпретирует это как переход непосредственно к маркировке. В C++ проблемой здесь является один из объема. Ваши фигурные скобки определяют объем как все в switch оператор. Это означает, что Вас оставляют с объемом, где переход будет выполнен далее в код, пропускающий инициализацию. Корректный способ обработать это состоит в том, чтобы определить объем, характерный для того case оператор, и определить Вашу переменную в нем.

switch (val)
{   
case VAL:  
{
  // This will work
  int newVal = 42;  
  break;
}
case ANOTHER_VAL:  
...
break;
}
9
задан 23 July 2009 в 11:52
поделиться

5 ответов

Будьте абсолютно уверены, что классы, развернутые в удаленный сервер был скомпилирован с отладочной информацией.

8
ответ дан 4 December 2019 в 13:49
поделиться

Убедитесь, что вы подключены к удаленному приложению.

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

Если отладчик не остановился - установите точку останова.

2
ответ дан 4 December 2019 в 13:49
поделиться

Все переменные или только некоторые? Для этого может быть несколько причин:

  • Для этого класса нет доступной отладочной информации. Вы не увидите переменных и при локальной отладке того же кода.

  • Возможно, в Eclipse есть ошибка. Вы проверяли консоль ошибок?

  • Я не уверен, имеет ли значение версия виртуальной машины. Но вы должны попытаться использовать одну и ту же виртуальную машину с обеих сторон, чтобы убедиться.

1
ответ дан 4 December 2019 в 13:49
поделиться

Есть два представления, с помощью которых вы можете видеть значения во время отладки в Eclipse. Во-первых, это представление Expressions. В представлении «Выражения» вы можете увидеть значения для полей, которые, по вашему мнению, вы хотите «наблюдать». Во-вторых, это точка зрения «Ценности». В представлении «Значения» вы можете видеть значения полей в методе, который вы выполняете, если класс был скомпилирован с токенами отладки, или значения переданных аргументов, если класс не был скомпилирован с включенной отладкой.

Если вы видите что-то вроде « Имя переменной не может быть разрешено », возможно, вы используете представление «Выражения», а не представление «Значения».

1
ответ дан 4 December 2019 в 13:49
поделиться

В моем случае я компилировал проект через Maven с debug = false для подключаемого модуля компилятора. Это была проблема!

2
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: