Case
операторы [только 115] маркируют . Это означает, что компилятор интерпретирует это как переход непосредственно к маркировке. В C++ проблемой здесь является один из объема. Ваши фигурные скобки определяют объем как все в switch
оператор. Это означает, что Вас оставляют с объемом, где переход будет выполнен далее в код, пропускающий инициализацию. Корректный способ обработать это состоит в том, чтобы определить объем, характерный для того case
оператор, и определить Вашу переменную в нем.
switch (val)
{
case VAL:
{
// This will work
int newVal = 42;
break;
}
case ANOTHER_VAL:
...
break;
}
Будьте абсолютно уверены, что классы, развернутые в удаленный сервер был скомпилирован с отладочной информацией.
Убедитесь, что вы подключены к удаленному приложению.
Если ваше приложение имеет несколько потоков, возможно, поток не выбран, в этом случае - выберите поток, который останавливает отладчик дюйм.
Если отладчик не остановился - установите точку останова.
Все переменные или только некоторые? Для этого может быть несколько причин:
Для этого класса нет доступной отладочной информации. Вы не увидите переменных и при локальной отладке того же кода.
Возможно, в Eclipse есть ошибка. Вы проверяли консоль ошибок?
Я не уверен, имеет ли значение версия виртуальной машины. Но вы должны попытаться использовать одну и ту же виртуальную машину с обеих сторон, чтобы убедиться.
Есть два представления, с помощью которых вы можете видеть значения во время отладки в Eclipse. Во-первых, это представление Expressions. В представлении «Выражения» вы можете увидеть значения для полей, которые, по вашему мнению, вы хотите «наблюдать». Во-вторых, это точка зрения «Ценности». В представлении «Значения» вы можете видеть значения полей в методе, который вы выполняете, если класс был скомпилирован с токенами отладки, или значения переданных аргументов, если класс не был скомпилирован с включенной отладкой.
Если вы видите что-то вроде « Имя переменной не может быть разрешено », возможно, вы используете представление «Выражения», а не представление «Значения».
В моем случае я компилировал проект через Maven с debug = false для подключаемого модуля компилятора. Это была проблема!