Отладка с помощью Eclipse
В этом кратком руководстве мы увидим, как отлаживать Java-программы с помощью Eclipse IDE.
2. Основные понятия
Eclipse имеет отличную поддержку для отладки приложений. Он визуализирует пошаговое выполнение и помогает нам обнаруживать ошибки.
Чтобы продемонстрировать возможности отладки в Eclipse, мы будем использовать пример программы PerfectSquareCounter . Эта программа подсчитывает общее количество идеальных квадратов и даже идеальных квадратов под заданным числом:
2.1. Режим отладки
Во- первых, нам нужно запустить программу Java в Eclipse в режиме отладки. Этого можно достичь двумя способами:
- Щелкните правой кнопкой мыши редактор и выберите « Отладка как» -> «Приложение Java» (показано на снимке экрана ниже).
- Отладьте программу с панели инструментов (выделено на снимке экрана ниже)
2.2. Контрольные точки
Нам нужно определить точки, в которых выполнение программы должно быть остановлено для исследования. Они называются точками останова и применимы для методов. Они также могут быть определены в любое время до или во время выполнения.
По сути, есть 3 способа добавить точки останова в программу:
- Щелкните правой кнопкой мыши на полосе маркера (вертикальной линейке), соответствующей линии, и выберите «Переключить точку останова» (показано на снимке экрана ниже).
- Нажмите Ctrl+Shift+B на нужной строке находясь в редакторе
- Дважды щелкните на полосе маркера (вертикальной линейке), соответствующей нужной линии
2.3. Управление потоком кода
Теперь, когда отладчик останавливается в заданных точках останова, мы можем продолжить выполнение.
Предположим, что отладчик в настоящее время расположен, как показано на снимке экрана ниже, в строке 16:
Наиболее часто используемые параметры отладки:
- Step Into (F5) — эта операция выполняется внутри методов, используемых в текущей строке (если они есть); в противном случае он переходит к следующей строке. В этом примере он возьмет отладчик внутри метода isPerfectSquare().
- Step Over (F6) — эта операция обрабатывает текущую строку и переходит к следующей строке. В этом примере это выполнит метод isPerfectSquare() и перейдет к следующей строке.
- Шаг возврата (F7) — эта операция завершает текущий метод и возвращает нас к вызывающему методу. Поскольку в этом случае у нас есть точка останова в цикле, она все еще будет внутри метода, иначе она вернется к основному методу.
- Возобновление (F8) — эта операция просто продолжит выполнение до тех пор, пока программа не завершится , если мы не наткнемся на какую-либо другую точку останова.
2.4. Перспектива отладки
Когда мы запускаем программу в режиме отладки, Eclipse предлагает перейти в режим отладки. Перспектива Debug представляет собой набор некоторых полезных представлений, которые помогают нам визуализировать отладчик и взаимодействовать с ним.
Мы также можем в любое время переключиться на перспективу отладки вручную.
Вот некоторые из наиболее полезных представлений, которые он содержит:
- Представление отладки — показывает различные потоки и трассировки стека вызовов.
- Представление переменных — показывает значения переменных в любой заданной точке. Если нам нужно увидеть статические переменные, нам нужно явно указать, что
- Точки останова — здесь показаны различные точки останова и точки наблюдения (которые мы увидим ниже).
- Debug Shell — это позволяет нам писать и оценивать собственный код во время отладки (пример будет рассмотрен позже).
3. Методы
В этом разделе мы рассмотрим некоторые важные приемы, которые помогут нам освоить отладку в Eclipse.
3.1. Переменные
Мы можем видеть значения переменных во время выполнения в представлении «Переменные». Чтобы увидеть статические переменные, мы можем выбрать раскрывающийся вариант Java -> Показать статические переменные .
Используя представление переменных, можно изменить любое значение на желаемое значение во время выполнения.
Например, если нам нужно пропустить несколько чисел и сразу начать с числа 80, мы можем сделать это, изменив значение переменной number :
3.2. Проверка значений
Если нам нужно проверить значение выражения или оператора Java, мы можем выбрать конкретное выражение в редакторе, щелкнуть правой кнопкой мыши и проверить, как показано ниже. Удобный ярлык — нажать Ctrl+Shift+I на выражении, чтобы увидеть значение:
Если нам нужно постоянно проверять это выражение, мы можем щелкнуть правой кнопкой мыши и посмотреть. Теперь это добавляется в представление «Выражения», и значение этого выражения можно увидеть для разных запусков.
3.3. Отладочная оболочка
В контексте сеанса отладки мы можем написать и запустить собственный код для оценки возможностей. Это делается в Debug Shell.
Например, если нам нужно перепроверить правильность функциональности sqrt , мы можем сделать это в Debug Shell. В коде щелкните правой кнопкой мыши -> Проверить , чтобы увидеть значение:
3.4. Условные точки останова
Будут случаи, когда мы хотим отлаживать только для определенных условий. Мы можем добиться этого, добавив условия к точке останова одним из двух способов:
- Щелкните правой кнопкой мыши точку останова и выберите «Свойства точки останова».
- В представлении «Точка останова» выберите точку останова и укажите условие
Например, мы можем указать точку останова для приостановки выполнения, только если число равно 10:
3.5. Точки наблюдения
Что точки останова для методов, что точки наблюдения для переменных уровня класса . В текущем примере точка останова на объявлении evenPerfectSquareNumbers называется точкой наблюдения. Теперь отладчик будет приостанавливать выполнение каждый раз, когда происходит доступ к полю или его изменение в точке наблюдения.
Это поведение по умолчанию, которое можно изменить в свойствах точки наблюдения.
В этом примере отладчик останавливает выполнение каждый раз, когда идеальный квадрат оказывается четным числом:
3.6. Триггерные точки
Предположим, что мы отлаживаем сложную проблему в приложении с огромным объемом исходного кода. Отладчик будет продолжать приостанавливать поток из-за разрозненных точек останова.
Когда точка останова отмечена как точка срабатывания, это означает, что остальные точки останова будут активированы, только если эта точка останова сработает.
Например, на снимке экрана ниже точка останова isPerfectSquare() должна срабатывать при каждой итерации цикла. Однако мы указали точку останова в методе calculateCount() в качестве точки срабатывания вместе с условием.
Итак, когда количество итераций достигнет 10, это вызовет остальные точки останова. Следовательно, с этого момента, если будет достигнута точка останова на isPerfectSquare() , выполнение будет приостановлено:
3.7. Удаленная отладка
Наконец, если приложение работает за пределами Eclipse, мы все равно можем использовать все вышеперечисленные функции, при условии, что удаленное приложение позволяет отладку. В Eclipse мы бы выбрали Debug as Remote Java Application .
4. Вывод
В этом кратком руководстве мы рассмотрели основы и различные методы отладки программ в Eclipse IDE.
Как всегда, исходный код, использованный в этом упражнении, доступен на GitHub .
Как при отладке в eclipse выводить отладочную информацию (значения переменных) прям в редакторе кода?
В eclipse при отладке есть возможность выводить значения переменных в каждой строке редактора кода. Какой настройкой это можно включить?
Пример, как это выглядит в pycharm
Насколько я знаю, такой возможности в eclipse нет. Есть возможность просматривать (и менять) значения всех находящихся в области видимости переменных в отдельном виде ( view ) varables ( Alt+Shift+Q, V ), можно воспользоваться видом expressions , который показывает значения выражений (можно, например, специально для отладки написать методы, показывающие что-то в удобном для восприятия виде), и при наведении курсора на переменную в режиме отладки отображается ее содержимое:
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.31.43551
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Eclipse как посмотреть значение переменной
Как при отладке в eclipse выводить отладочную информацию (значения переменных) прям в редакторе кода?
В eclipse при отладке есть возможность выводить значения переменных в каждой строке редактора кода. Какой настройкой это можно включить?
Пример, как это выглядит в pycharm
Насколько я знаю, такой возможности в eclipse нет. Есть возможность просматривать (и менять) значения всех находящихся в области видимости переменных в отдельном виде ( view ) varables ( Alt+Shift+Q, V ), можно воспользоваться видом expressions , который показывает значения выражений (можно, например, специально для отладки написать методы, показывающие что-то в удобном для восприятия виде), и при наведении курсора на переменную в режиме отладки отображается ее содержимое:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками eclipse отладка настройка или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.13.42356
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Eclipse – программа отладки
То же действие можно выполнить с помощью Package Explorer, выбрав класс, который содержит метод main, и нажав Alt + Shift + D, J.
Любое из упомянутых выше действий создает новую конфигурацию отладки и использует ее для запуска приложения Java.
Если конфигурация отладки уже создана, вы можете использовать ее для запуска приложения Java, выбрав «Конфигурации отладки» в меню «Выполнить», щелкнув имя конфигурации отладки, а затем нажав кнопку «Отладка».
Пункт меню «Отладка» в меню «Выполнить» можно использовать для перезапуска Java-приложения, которое ранее было запущено в режиме отладки.
Сочетание клавиш для запуска ранее запущенного Java-приложения в режиме отладки – F11. Когда Java-программа запускается в режиме отладки, пользователям предлагается переключиться на перспективу отладки. Перспектива отладки предлагает дополнительные представления, которые можно использовать для устранения неполадок приложения.
Редактор Java позволяет пользователям размещать точки останова в коде Java. Чтобы установить точку останова, в области редактора щелкните правой кнопкой мыши на панели маркеров и выберите Toggle Breakpoint.
Точки останова отображаются на панели маркеров. Они также видны в представлении точек останова.
Когда выполнение кода достигает точки останова, JVM приостанавливает выполнение программы. На этом этапе вы можете проверить память и выполнить программу контролируемым образом.
Когда выполнение программы приостановлено, представление отладки может использоваться для проверки стека вызовов.
Представление переменных может использоваться для проверки значения переменных.
В меню «Выполнить» есть пункты меню, которые позволяют возобновить выполнение, перейти через строку кода, войти в функцию и т. Д.
На приведенном выше рисунке показаны сочетания клавиш, связанные с такими действиями, как «Возобновить», «Шаг вперед» и «Шаг за шагом» и т.д.
Как я могу узнать значение переменной пути Eclipse или строковой переменной (`$ `)?
В Eclipse можно использовать так называемый «переменные пути»и так называемые»строковые переменные» в некоторых местах. Например, в «конфигурации запуска» базовый каталог может быть установлен на $
> вместо предоставления статического значения.
Как узнать значение такой переменной (или значение выражения, состоящего, возможно, из нескольких переменных)?
задан 11 сен ’12, 18:09
Я не понимаю, почему это невозможно. В диалоговом окне «Выбрать переменную» есть поле «Описание» — оно также должно иметь поле «Значение», которое показывает. значение. На самом деле, я бы предпочел, чтобы в списке переменных был столбец, отображающий значение. Visual Studio достаточно хорошо с этим справляется. — Michael Burr
1 ответы
Откройте диалоговое окно «Свойства» проекта. В меню слева разверните «Ресурс» и нажмите «Связанный ресурс». Это должно немедленно отобразить определенные «Переменные пути» на большой правой панели, включая $project_loc$. Обратите внимание, что вы также можете добавить новые переменные в свой проект.
Это уже хорошее начало для выяснения, спасибо! . что о $
. По крайней мере, в моем случае эти переменные не перечислены в разделе «Переменные пути», но они существуют как переменные, например, в «Конфигурациях запуска», но я не вижу, какие значения эти переменные оценивают. — Abdull
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками eclipse or задайте свой вопрос.
Сочетания клавиш Eclipse
При работе с Eclipse я обычно использую следующие сочетания клавиш (их ещё называют hotkey или «горячие клавиши»):
- Ctrl+D — удаление строки, на которой находится курсор редактирования.
- Ctrl+Alt+Стрелка вверх — дублирование строки, на которой находится курсор редактирования.
- Ctrl+Стрелка влево — перемещение курсора редактирования на одно слово влево.
- Ctrl+Стрелка вправо — перемещение курсора редактирования на одно слово вправо.
- Ctrl+Стрелка вверх — сдвиг окна редактирования на одну строку ближе к началу текста.
- Ctrl+Стрелка вниз — сдвиг окна редактирования на одну строку к концу текста.
- Home — перемещение курсора редактирования к началу строки.
- End — перемещение курсора редактирования к концу строки.
- Ctrl+Home — перемещение курсора редактирования в начало файла.
- Ctrl+End — перемещение курсора редактирования к концу файла.
- Alt+Shift+J — добавить Javadoc к текущему редактируемому методу/классу и т. д.
- Shift+F2 — открывает Javadoc, связанный с текущим элементом.
- Alt+Shift+Q, J — открывает окно с Javadoc. Я обычно дублирую эту команду на Ctrl + Alt + C, J.
- F2 — показывает небольшое контекстное всплывающее окно с Javadoc.
- F3 — переход на объявление метода, переменной класса.
- Ctrl+F6 — следующая вкладка редактора.
- Ctrl+Shift+F6 — редактор на предыдущей вкладке.
- Ctrl+Shift+W — закрыть все вкладки редактора.
- Ctrl+W — закрыть текущую вкладку редактора.
- Ctrl+F8 — следующая перспектива.
- Ctrl+Shift+F8 — предыдущая перспектива.
- Ctrl+F7 — следующее окно, то есть перемещение между Outline, Console, Package Explorer, Project Explorer и т. д.
- Ctrl+Shift+F7 — предыдущее окно.
- F12 — сделать активным редактор.
- Ctrl+Shift+B — поставить/убрать точку остановки для отладки.
- Ctrl+F10 — вызвать контекстное меню, где можно добавить закладку, поставить точку остановки, включить отображение автора строки.
- Alt+Shift+D, J — запустить приложение Java в режиме отладки.
- Alt+Shift+D, T — запустить тест JUnit.
- Ctrl+Shift+I — посмотреть значение переменной (в режиме отладки).
- Ctrl+O — quick outline, окошко со структурой документа. Позволяет легко перемещаться между членами классов, частями XML и т. д.
- Ctrl+F2 — остановить запущенное приложение.
- Alt+Shift+X, M — запустить сборку Maven выбранного проекта.
- Ctrl+1 — показывает варианты исправления кода, подчёркнутого красным.
- Ctrl+2 — присвоить переменной, полю, вытащить код в отдельный метод.
В дополнение к ним я обычно настраиваю следующие комбинации клавиш с помощью Window ⇨ Preferences, а затем в открывшемся окне в дереве слева пункт General ⇨ Keys:
Как при отладке в eclipse выводить отладочную информацию (значения переменных) прям в редакторе кода?
В eclipse при отладке есть возможность выводить значения переменных в каждой строке редактора кода. Какой настройкой это можно включить?
Пример, как это выглядит в pycharm
Насколько я знаю, такой возможности в eclipse нет. Есть возможность просматривать (и менять) значения всех находящихся в области видимости переменных в отдельном виде ( view ) varables ( Alt+Shift+Q, V ), можно воспользоваться видом expressions , который показывает значения выражений (можно, например, специально для отладки написать методы, показывающие что-то в удобном для восприятия виде), и при наведении курсора на переменную в режиме отладки отображается ее содержимое:
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.31.43551
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Сочетания клавиш Eclipse
При работе с Eclipse я обычно использую следующие сочетания клавиш (их ещё называют hotkey или «горячие клавиши»):
- Ctrl+D — удаление строки, на которой находится курсор редактирования.
- Ctrl+Alt+Стрелка вверх — дублирование строки, на которой находится курсор редактирования.
- Ctrl+Стрелка влево — перемещение курсора редактирования на одно слово влево.
- Ctrl+Стрелка вправо — перемещение курсора редактирования на одно слово вправо.
- Ctrl+Стрелка вверх — сдвиг окна редактирования на одну строку ближе к началу текста.
- Ctrl+Стрелка вниз — сдвиг окна редактирования на одну строку к концу текста.
- Home — перемещение курсора редактирования к началу строки.
- End — перемещение курсора редактирования к концу строки.
- Ctrl+Home — перемещение курсора редактирования в начало файла.
- Ctrl+End — перемещение курсора редактирования к концу файла.
- Alt+Shift+J — добавить Javadoc к текущему редактируемому методу/классу и т. д.
- Shift+F2 — открывает Javadoc, связанный с текущим элементом.
- Alt+Shift+Q, J — открывает окно с Javadoc. Я обычно дублирую эту команду на Ctrl + Alt + C, J.
- F2 — показывает небольшое контекстное всплывающее окно с Javadoc.
- F3 — переход на объявление метода, переменной класса.
- Ctrl+F6 — следующая вкладка редактора.
- Ctrl+Shift+F6 — редактор на предыдущей вкладке.
- Ctrl+Shift+W — закрыть все вкладки редактора.
- Ctrl+W — закрыть текущую вкладку редактора.
- Ctrl+F8 — следующая перспектива.
- Ctrl+Shift+F8 — предыдущая перспектива.
- Ctrl+F7 — следующее окно, то есть перемещение между Outline, Console, Package Explorer, Project Explorer и т. д.
- Ctrl+Shift+F7 — предыдущее окно.
- F12 — сделать активным редактор.
- Ctrl+Shift+B — поставить/убрать точку остановки для отладки.
- Ctrl+F10 — вызвать контекстное меню, где можно добавить закладку, поставить точку остановки, включить отображение автора строки.
- Alt+Shift+D, J — запустить приложение Java в режиме отладки.
- Alt+Shift+D, T — запустить тест JUnit.
- Ctrl+Shift+I — посмотреть значение переменной (в режиме отладки).
- Ctrl+O — quick outline, окошко со структурой документа. Позволяет легко перемещаться между членами классов, частями XML и т. д.
- Ctrl+F2 — остановить запущенное приложение.
- Alt+Shift+X, M — запустить сборку Maven выбранного проекта.
- Ctrl+1 — показывает варианты исправления кода, подчёркнутого красным.
- Ctrl+2 — присвоить переменной, полю, вытащить код в отдельный метод.
В дополнение к ним я обычно настраиваю следующие комбинации клавиш с помощью Window ⇨ Preferences, а затем в открывшемся окне в дереве слева пункт General ⇨ Keys:
Eclipse как посмотреть значение переменной
Ни один программист не может написать код без ошибок за один раз, поэтому многие программисты тратят значительную часть своего времени на отладку.Отладка программ — это работа, с которой должен столкнуться каждый программист. Как использовать Eclipse для эффективной и особенно эффективной отладки кода — это навык, который стоит изучить.
- 2.1 Debug View
- 2.2 Variables View
- 2.3 Breakpoints View
- 2.4 Expressions View
- 2.5 Display View
3.2.1 Отладка программы на локальном языке Java
3.3.2 Удаленная отладка
Во-первых, введение в отладку Eclipse
Любой, кто использовал Eclipse, знает, что Eclipse поставляется со своим собственным отладчиком Java, который может предоставлять множество основных функций отладки. Рабочая среда платформы Eclipse и ее инструменты построены на компонентах JDT, которые предоставляют Eclipse следующие функции:
Инструменты управления проектами Перспективы и представления Функции конструктора, редактора, поиска и построения Отладчик
2. Отладка связанных представлений в Eclipse
Рисунок 1. Общий вид перспективы Eclipse Debug (в это представление можно войти, нажав кнопку Debug в правом верхнем углу интерфейса Eclipse)
Представление «Отладка» позволяет управлять отлаживаемой и запущенной программой в рабочей среде. Оно отображает кадр стека приостановленного потока в отлаживаемой программе. Каждый поток в программе отображается как узел дерева. Он показывает прогресс каждой запущенной цели. Если поток приостановлен, его кадр стека отображается как дочерний элемент. Ниже приведены некоторые часто используемые кнопки отладки:
Skip All Breakpoints:: Установить пропуск всех точек останова, установить Skip All Breakpoints После этого на всех точках останова будет косая черта, указывающая, что точка останова будет пропущена и поток не будет приостановлен в точке останова.
Drop to Frame:Эта команда позволяет программе вернуться к первой строке текущего метода и перезапустить выполнение. Вы можете повторно выполнить фрейм стека Java. Вы можете выбрать указанный фрейм стека и щелкнуть Drop to Frame , Чтобы вы могли повторно ввести указанный кадр стека. Обратите внимание на использование Drop to Frame:
1. Невозможно перейти к методу в уже выполненном стеке методов.
2. При перетаскивании в кадр стека исходное значение глобальных данных не будет изменено, например, вертор, содержащий элемент, не будет очищен.
Step Filters:Эта функция относительно проста, то есть, когда мы хотим игнорировать некоторые классы, которые нам не нужны при отладке, мы можем включить Step Filters После фильтрации программа продолжит выполнение, пока не встретит нефильтрованное местоположение или точку останова. Step Filters Функция по Use Step Filters , Edit Step Filters , Filter Type , Filter Package Четыре компонента. Конкретные операции заключаются в следующем:
Шаг 1: Windows -> Настройки -> Java -> Отладка -> Фильтрация шагов.
Шаг 2. Выберите «Использовать пошаговые фильтры».
Шаг 3: Выберите желаемый вариант на экране. Вы можете добавить часть кода из своей собственной базы кода.
Шаг 4: Нажмите «Применить».
В принципе, Edit Step Filter Команды используются для настройки Step Filter Правила пока Filter Type против Filter Package См. Отфильтрованный тип Java и пакет Java соответственно.
Step Return:Выйти из текущего метода, при выполнении вызываемого метода использовать Step Return После выполнения всех кодов текущего метода он выйдет из метода и вернется к методу, который вызвал метод.
Step Over:При пошаговом режиме, когда в функции встречается подфункция, она не входит в подфункцию для одношагового выполнения. Вместо этого подфункция будет выполнена и остановлена, то есть подфункция будет рассматриваться как один шаг.
Step Into:Одношаговое выполнение, войдите в подфункцию и продолжите пошаговое выполнение
Resume:Возобновить приостановленный поток и перейти непосредственно с текущей позиции к следующей позиции точки останова.
Suspend:Приостановите выбранный поток, в это время вы можете просмотреть или изменить код, проверить данные и т. Д.
Eclipse поддерживает приостановку и возобновление потоков с помощью Suspend и Resume. Вообще говоря, Suspend подходит для отладки многопоточных программ.Когда нам нужно просмотреть кадр стека и значение переменной определенного потока, мы можем приостановить поток с помощью команды Suspend. Резюме используется для восстановления. Есть два типа возобновления, на которые следует обратить внимание: первый — когда вы изменяете программный код во время отладки, а затем сохраняете его, нажимаете «Возобновить», и программа будет приостановлена в точке останова. Второй — когда программа выдает исключение, запустите Resume, программа также будет приостановлена в точке останова.
Terminate:Затмение прошло Terminate Команда для прекращения отладки локальной программы.
Disconnect:Использование Eclipse Disconnect Команда для завершения сокет-соединения с удаленной JVM.
Variables View :
Variables View Показать и Debug View Переменная информация, относящаяся к выбранному кадру стека, отладка Java При программировании переменные могут выбрать отображение более подробной информации на панели подробной информации. К тому же, Java Объект также может отображать значение содержащегося в нем атрибута. Многие операции можно выполнить, выбрав переменную в этом окне и щелкнув правой кнопкой мыши.Основные операции следующие:
All Instances:Откройте диалоговое окно, чтобы отобразить все экземпляры класса java.Для использования этой функции виртуальная машина Java должна поддерживать получение экземпляра.
All References:: Открыть диалоговое окно для отображения всех java-объектов, которые ссылаются на переменную,
Change Value:: Изменить значение переменной, эту функцию можно Drop to Frame Комбинированное использование для отладки программ. Используйте эти две функции для замены повторной отладки
Copy Variables:Скопируйте значение переменной, особенно если значение переменной очень длинное (например, данные json), эта функция пригодится.
Find:Иногда, когда в классе слишком много переменных, его можно найти.
Breakpoints View :
Breakpoints View Будут перечислены все точки останова, которые вы установили в текущем рабочем интервале.Дважды щелкните точку останова, чтобы ввести положение точки останова в программе. Вы также можете включать или отключать точки останова, удалять, добавлять новые и группировать их по рабочей группе или количеству попаданий точек. Следующие два метода очень полезны при использовании точек останова:
Hit Count:Это то, сколько раз выполняется сегмент кода в указанной точке останова. Наиболее типичным является цикл. Если вы хотите, чтобы цикл выполнялся 10 раз, а поток зависал, укажите значение Hit Count как 10, тогда текущий цикл будет выполнен в девятый раз. Положите трубку.
Conditional:Как следует из названия, это условное суждение.Например, когда нам нужна переменная цикла i == 10, поток приостанавливается, затем устанавливается условие i == 10 и приостанавливается, когда выбрано «истина».
Если выше выбраны как «Счетчик совпадений», так и «Условное совпадение», если параметры выражения и значения являются необоснованными, произойдет сбой. Если выбрать «Приостановить при изменении значения», то «Условие» может зависнуть при изменении значения переменной.
Expressions View :
Чтобы оценить значение выражения в редакторе перспективы «Отладка», выделите всю строку, в которой установлена точка останова, и выберите параметр «Проверить» в контекстном меню. Выражение оценивается в контексте текущего кадра стека, и результат отображается в представлении «Выражения» в окне «Отображение». Например, если я хочу вычислить значение переменной a + b, я могу добавить выражение в представление выражения: a + b
Display View :
Вы можете использовать это представление для ввода или расчета новых кодов. Эти коды выполняются в контексте текущего места отладки, что означает, что вы можете использовать все переменные и даже вспомогательные материалы. Чтобы выполнить свой код, просто отметьте его и используйте контекстное меню или CTRL + U (выполнить) или CTRL + SHIFT + I (проверить).
Три, отладка
Установить точку останова
В файле исходного кода в отмеченной строке перед строкой кода, где вы хотите установить точку останова, дважды щелкните левой кнопкой мыши, чтобы установить точку останова, и дважды щелкните еще раз в том же месте, чтобы отменить точку останова. Иногда у нас все еще есть эта потребность, то есть я не хочу выполнять код построчно. Например, цикл for будет повторяться более 1000 раз. Я просто хочу повесить поток для отладки на 500-м проходе. В настоящее время мы можем использоватьУсловная точка останова。 Установить условную точку останова: мы можем установить условие триггера для этой точки останова, как только определенное условие будет выполнено, мы начнем отладку, и мы можем щелкнуть правой кнопкой мыши на точке останова и выбрать Breakpoint Properties Войдите на страницу настройки точки останова,Мы только что узнали о представлении точки останова Hit Count с участием Conditional Использование, здесь вы можете установить условия и время выполнения.
Отладчик
1. Отладка программ на локальном языке Java.
Среди всех отладок отладка Java-программы является самой простой, в основном включаяУстановить точку останова、Начать отладку、Один шаг、Завершить отладкуНесколько шагов.
Установите точки останова:Я уже сказал это раньше.
Начать отладку:Eclipse предоставляет четыре способа запустить отладку программы (Launch), а именно через меню (Run -> Debug), значок («зеленая ошибка»), щелчок правой кнопкой мыши -> Debug As и сочетание клавиш (F11) на этом этапе, Аналогично другим командам (например, «Выполнить»).
Один шаг:В основном используйте несколько представлений, упомянутых выше, для отладки, а несколько кнопок в представлении отладки имеют сочетания клавиш:
Завершить отладку:по Terminate Команда для прекращения отладки локальной программы.
2. Удаленная отладка
Удаленная отладка в основном используется для отладки нелокальных программ Java. Нелокальная здесь не называется нелокальной только на чужих машинах. Программы, работающие на веб-сервере на этом компьютере, также должны использовать удаленную отладку при отладке. Общие шаги удаленной отладки в основном такие же, как и при отладке программ на локальном языке Java, но настройки несколько отличаются.
Отладчик Eclipse может отлаживать удаленные приложения. Может быть подключен к беговой Java Удаленное приложение VM Подключить себя к приложению. Использование сеанса удаленной отладки примерно такое же, как использование сеанса локальной отладки. Однако конфигурация удаленной отладки должна быть Run > Debug Настройте некоторые другие параметры в окне. Сначала нужно выбрать в левом окне Remote Java Application Option, а затем щелкните New . Это создает новую конфигурацию удаленного запуска, в которой будут отображаться три вкладки: Connect 、 Source с участием Common 。
Во вкладке Connect Project В поле выберите проект, который будет цитироваться при запуске поиска исходного кода. Во вкладке Connect Host В поле введите IP-адрес или доменное имя удаленного хоста, на котором запущена программа Java. Во вкладке Connect Port В поле введите порт для удаленной виртуальной машины для получения подключений. Обычно этот порт указывается при запуске удаленной виртуальной машины. Если вы хотите, чтобы отладчик принимал решение в удаленном сеансе Terminate Если команда доступна, вы можете выбрать Allow termination of remote VM Параметры. Выберите этот параметр, если вы хотите завершить работу подключенной виртуальной машины. Теперь выбирая Debug Когда этот параметр выбран, отладчик попытается подключиться к удаленной виртуальной машине с указанным адресом или портом, и результат будет отображаться в представлении отладки.
Как при отладке в eclipse выводить отладочную информацию (значения переменных) прям в редакторе кода?
В eclipse при отладке есть возможность выводить значения переменных в каждой строке редактора кода. Какой настройкой это можно включить?
Пример, как это выглядит в pycharm
Насколько я знаю, такой возможности в eclipse нет. Есть возможность просматривать (и менять) значения всех находящихся в области видимости переменных в отдельном виде ( view ) varables ( Alt+Shift+Q, V ), можно воспользоваться видом expressions , который показывает значения выражений (можно, например, специально для отладки написать методы, показывающие что-то в удобном для восприятия виде), и при наведении курсора на переменную в режиме отладки отображается ее содержимое:
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.6.15.43499
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Eclipse как посмотреть значение переменной
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Подскажите, как в Eclipse во время отладки вычислять выражение, т.к. не смотреть значения переменных в коде, а выпонить свой код с этими переменными в целях отладки?
CTRL+SHIFT+D помогает посмотреть результат выражения в коде.
CTRL+SHIFT+I вообще ничего не делает, по моим экспериментам.
(В IDEA есть пункт меню "Еxpression. " и вкладка окна)
Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ
Репутация: 11
Всего: 151
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ
Репутация: 11
Всего: 151
Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea
Репутация: 12
Всего: 62
Entry_N3
Открыть Window/Show View/Display для перспективы Debug
Когда выполнение станет на брекпойнте — написать в окошке Display код который хочешь выполнить в данном контексте
Выделить этот код и нажать CTRL+SHIFT+D
Код выполниться и результат работы напишет сюда же в Display
Это сообщение отредактировал(а) Maksym — 6.9.2007, 16:11
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea
Репутация: 12
Всего: 62
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga
Репутация: 3
Всего: 12
Надо 4тобы модеры создали ве4но живущий топик. Типа под названием: "Всё об Eclipse" Вот туда бы все эти фокуси и постились бы. Ето сразу бы помогло бы форуму. Потому 4то много наве4ков каторые только на4инают. Спрашивают совсем глупые вопросы(Entry_N3 тебя не имелл ввиду). На4ать можно было бы с того как где стянуть,как поставить,какие версии еклипса есть и всё остальное. .
Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea
Репутация: 12
Всего: 62
Entry_N3
Для exception breakpoint расставлять точки не надо — создаешь такое исключение и точка сама станет когда оно вывалится — можно в runtime оценить ситуацию, посмотреть состояние приложение в момент падения.
Для conditional breakpoint — на экране breakpoints заходишь в свойства точки и задаешь условие по которой на ней останавливаться. Это очень удобно если точка внутри цикла или внутри кода, который часто дергается кем-то, а проблемная ситуация возникает только в каком-то конкретном состоянии данных.
Добавлено через 45 секунд
Tony
Поддерживаю.
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
Свойство точек прерывания как condition освоил
А про exception так и не научился пользоваться без расставления вручную.
Это?
Мой итог по хот-кеям:
CTRL+SHIFT+D для выражений из примитичных типов
CTRL+SHIFT+I для выражений из составных объектов
Цитата |
Когда выполнение станет на брекпойнте — написать в окошке Display код который хочешь выполнить в данном контексте |
Почему пишет "(No explicit return value)", если хочу узнать результат, например "i++"?
Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea
Репутация: 12
Всего: 62
Код |
public static void main(String[] args) |
Код |
i++ (int) 1 |
Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007
Репутация: нет
Всего: нет
- Прежде, чем задать вопрос, прочтите это!
- Книги по Java собираются здесь.
- Документация и ресурсы по Java находятся здесь.
- Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
- Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
- Действия модераторов можно обсудить здесь.
- FAQ раздела лежит здесь.
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
[ Время генерации скрипта: 0.1799 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Отладка с Eclipse
В этом кратком руководстве мы увидим, как отлаживать программы Java с помощью Eclipse IDE.
2. Основные концепции
Eclipse отлично поддерживает отладку приложений. Он визуализирует пошаговое выполнение и помогает нам обнаруживать ошибки.
Чтобы продемонстрировать возможности отладки в Eclipse, мы воспользуемся примером программы PerfectSquareCounter . Эта программа подсчитывает общее количество полных квадратов и даже полных квадратов под заданным числом:
2.1. Режим отладки
Во-первых, нам нужно запустить программу Java в Eclipse в режиме отладки. Этого можно добиться двумя способами:
- Щелкните правой кнопкой мыши редактор и выберите « Отладка как» -> «Приложение Java» (показано на снимке экрана ниже).
- Отладьте программу с панели инструментов (выделено на скриншоте ниже)
2.2. Контрольные точки
Нам нужно определить точки, в которых выполнение программы должно быть приостановлено для исследования. Они называются точками останова и применимы для методов. Их также можно определить в любое время до или во время выполнения.
По сути, есть 3 способа добавить точки останова в программу:
- Щелкните правой кнопкой мыши полосу маркера (вертикальную линейку), соответствующую строке, и выберите Toggle Breakpoint (как показано на снимке экрана ниже).
- Нажмите Ctrl + Shift + B на нужной строке в редакторе
- Дважды щелкните полосу маркера (вертикальную линейку), соответствующую нужной линии.
2.3. Управление потоком кода
Теперь, когда отладчик останавливается на заданных точках останова, мы можем продолжить дальнейшее выполнение.
Предположим, что отладчик в настоящее время позиционируется, как показано на скриншоте ниже, в строке 16:
Наиболее часто используемые параметры отладки:
- Step Into (F5) — эта операция выполняется внутри методов, используемых в текущей строке (если есть); в противном случае он переходит к следующей строке. В этом примере отладчик будет находиться внутри метода isPerfectSquare ().
- Step Over (F6) — эта операция обрабатывает текущую строку и переходит к следующей строке. В этом примере это выполнит метод isPerfectSquare () и перейдет к следующей строке.
- Step Return (F7) — эта операция завершает текущий метод и возвращает нас к вызывающему методу. Поскольку в этом случае у нас есть точка останова в цикле, она все еще будет внутри метода, иначе она вернется к основному методу
- Возобновить (F8) — эта операция просто продолжится до тех пор, пока программа не завершится, если мы не достигнем какой-либо дополнительной точки останова.
2.4. Перспектива отладки
Когда мы запускаем программу в режиме отладки, Eclipse предложит переключиться в перспективу отладки. Перспектива отладки — это набор некоторых полезных представлений, которые помогают нам визуализировать отладчик и взаимодействовать с ним.
Мы также можем переключиться на перспективу отладки вручную в любое время.
Вот некоторые из наиболее полезных представлений, которые он содержит:
- Представление отладки — показывает различные потоки и трассировки стека вызовов.
- Вид переменных — показывает значения переменных в любой заданной точке. Если нам нужно увидеть статические переменные, нам нужно явно указать, что
- Точки останова — здесь показаны различные точки останова и точки наблюдения (которые мы увидим ниже).
- Оболочка отладки — это позволяет нам писать и оценивать собственный код во время отладки (пример будет рассмотрен позже)
3. Методы
В этом разделе мы рассмотрим некоторые важные методы, которые помогут нам освоить отладку в Eclipse.
3.1. Переменные
Мы можем видеть значения переменных во время выполнения в представлении «Переменные». Чтобы увидеть статические переменные, мы можем выбрать раскрывающийся список Java -> Показать статические переменные .
Используя представление переменных, можно изменить любое значение на желаемое во время выполнения.
Например, если нам нужно пропустить несколько чисел и сразу начать с числа 80, мы можем сделать это, изменив значение переменной number :
3.2. Проверка значений
Если нам нужно проверить значение выражения или оператора Java, мы можем выбрать конкретное выражение в редакторе, щелкнуть правой кнопкой мыши и проверить, как показано ниже. Удобный ярлык — нажать Ctrl + Shift + I в выражении, чтобы увидеть значение:
In case we need to permanently inspect this expression, we can right-click and Watch. Now, this gets added to the Expressions view and the value of this expression can be seen for different runs.
3.3. Debug Shell
In the context of the debugging session, we can write and run custom code to evaluate possibilities. This is done in the Debug Shell.
For example, if we need to cross-check the correctness of the sqrt functionality, we could do it in the Debug Shell. On the code, Right-click -> Inspect to see the value:
3.4. Conditional Breakpoints
There will be cases in which we want to debug only for specific conditions. We can achieve this by adding conditions to a breakpoint in one of two ways:
- Right-click on the breakpoint and choose Breakpoint Properties
- In Breakpoint view, select the breakpoint and specify the condition
For example, we can specify the breakpoint to suspend the execution only if number is equal to 10:
3.5. Watchpoints
Whatbreakpoints are for methods, watchpoints are for class-level variables. In this current example, the breakpoint on evenPerfectSquareNumbers declaration is called a watchpoint. Now, the debugger will pause the execution every time the field is accessed or modified on a watchpoint.
This is the default behavior, which can be changed in the watchpoint’s properties.
In this example, the debugger will stop execution every time a perfect square is an even number:
3.6. Trigger Points
Let’s assume that we’re debugging a complex issue in an application with a huge amount of source code. The debugger will keep suspending the flow due to scattered breakpoints.
When a breakpoint is marked as a trigger point, it means that the rest of the breakpoints will be enabled only if this breakpoint is hit.
For example, in the screenshot below, the breakpoint on isPerfectSquare() is supposed to be hit for every iteration in the loop. However, we’ve specified the breakpoint on calculateCount() method as a trigger point, along with a condition.
So, when the iteration count reaches 10, this will trigger the rest of the breakpoints. Hence, from now on, if the breakpoint on isPerfectSquare() is hit, the execution will get suspended:
3.7. Remote Debugging
Наконец, если приложение работает вне Eclipse, мы по-прежнему можем использовать все вышеперечисленные функции при условии, что удаленное приложение позволяет отладку. В Eclipse мы должны выбрать « Отладка как удаленное приложение Java» .
4. Вывод
В этом кратком руководстве мы рассмотрели основы и различные методы отладки программ в Eclipse IDE.
Как всегда, исходный код, используемый в этом упражнении, доступен на GitHub.
Eclipse как посмотреть значение переменной
Как при отладке в eclipse выводить отладочную информацию (значения переменных) прям в редакторе кода?
В eclipse при отладке есть возможность выводить значения переменных в каждой строке редактора кода. Какой настройкой это можно включить?
Пример, как это выглядит в pycharm
Насколько я знаю, такой возможности в eclipse нет. Есть возможность просматривать (и менять) значения всех находящихся в области видимости переменных в отдельном виде ( view ) varables ( Alt+Shift+Q, V ), можно воспользоваться видом expressions , который показывает значения выражений (можно, например, специально для отладки написать методы, показывающие что-то в удобном для восприятия виде), и при наведении курсора на переменную в режиме отладки отображается ее содержимое:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками eclipse отладка настройка или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.13.42356
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Eclipse – программа отладки
То же действие можно выполнить с помощью Package Explorer, выбрав класс, который содержит метод main, и нажав Alt + Shift + D, J.
Любое из упомянутых выше действий создает новую конфигурацию отладки и использует ее для запуска приложения Java.
Если конфигурация отладки уже создана, вы можете использовать ее для запуска приложения Java, выбрав «Конфигурации отладки» в меню «Выполнить», щелкнув имя конфигурации отладки, а затем нажав кнопку «Отладка».
Пункт меню «Отладка» в меню «Выполнить» можно использовать для перезапуска Java-приложения, которое ранее было запущено в режиме отладки.
Сочетание клавиш для запуска ранее запущенного Java-приложения в режиме отладки – F11. Когда Java-программа запускается в режиме отладки, пользователям предлагается переключиться на перспективу отладки. Перспектива отладки предлагает дополнительные представления, которые можно использовать для устранения неполадок приложения.
Редактор Java позволяет пользователям размещать точки останова в коде Java. Чтобы установить точку останова, в области редактора щелкните правой кнопкой мыши на панели маркеров и выберите Toggle Breakpoint.
Точки останова отображаются на панели маркеров. Они также видны в представлении точек останова.
Когда выполнение кода достигает точки останова, JVM приостанавливает выполнение программы. На этом этапе вы можете проверить память и выполнить программу контролируемым образом.
Когда выполнение программы приостановлено, представление отладки может использоваться для проверки стека вызовов.
Представление переменных может использоваться для проверки значения переменных.
В меню «Выполнить» есть пункты меню, которые позволяют возобновить выполнение, перейти через строку кода, войти в функцию и т. Д.
На приведенном выше рисунке показаны сочетания клавиш, связанные с такими действиями, как «Возобновить», «Шаг вперед» и «Шаг за шагом» и т.д.
Как я могу узнать значение переменной пути Eclipse или строковой переменной (`$ `)?
В Eclipse можно использовать так называемый «переменные пути»и так называемые»строковые переменные» в некоторых местах. Например, в «конфигурации запуска» базовый каталог может быть установлен на $
> вместо предоставления статического значения.
Как узнать значение такой переменной (или значение выражения, состоящего, возможно, из нескольких переменных)?
задан 11 сен ’12, 18:09
Я не понимаю, почему это невозможно. В диалоговом окне «Выбрать переменную» есть поле «Описание» — оно также должно иметь поле «Значение», которое показывает. значение. На самом деле, я бы предпочел, чтобы в списке переменных был столбец, отображающий значение. Visual Studio достаточно хорошо с этим справляется. — Michael Burr
1 ответы
Откройте диалоговое окно «Свойства» проекта. В меню слева разверните «Ресурс» и нажмите «Связанный ресурс». Это должно немедленно отобразить определенные «Переменные пути» на большой правой панели, включая $project_loc$. Обратите внимание, что вы также можете добавить новые переменные в свой проект.
Это уже хорошее начало для выяснения, спасибо! . что о $
. По крайней мере, в моем случае эти переменные не перечислены в разделе «Переменные пути», но они существуют как переменные, например, в «Конфигурациях запуска», но я не вижу, какие значения эти переменные оценивают. — Abdull
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками eclipse or задайте свой вопрос.