Подтвердить что ты не робот

Навигация в стек вызовов Java в Eclipse

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

Как вы это делаете в Eclipse?

4b9b3361

Ответ 1

В разделе отладка перспективы ", покажите представление с именем" debug ". Для каждого потока, который в настоящее время остановлен, это представление показывает полный стек вызовов. Щелчок по одному элементу этого стека переключает вид редактора, чтобы отобразить соответствующий класс, а в представлении" variables" будут отображаться переменные этого элемента стека.

Ответ 2

Обратите внимание, что ваша "Debug Perspective" по умолчанию может быть свернута в режим просмотра "breadcrumb", что означает, что вы увидите только одну строку трассировки стека за раз.

Чтобы полностью развернуть его и увидеть трассировку стека в дереве:

  • нажмите стрелку вниз в верхнем правом углу окна "Отладка".
  • выберите "Макет | Дерево"

Ответ 3

вы просто нажимаете на стек стека в представлении "Отладка".

Ответ 4

В визуальном отладчике вы увидите всю трассировку стека. Просто нажмите на уровне, который вы хотите проверить, чтобы сделать это. Определенно проще, чем использовать команды gdb.: -)

Ответ 5

Сначала установите одну или несколько точек останова в вашем коде, которые, как вы знаете, будут поражены, затем отладьте свое приложение одним из следующих способов:

  • Убедитесь, что файл, который содержит ваш main метод в настоящее время выбран
  • Хит F11

или же

  • Щелкните правой кнопкой мыши файл в проводнике пакетов, содержащий ваш main метод
  • Выберите "Отладка как"> "Приложение Java".

Eclipse теперь должен показывать "перспективу отладки" (ее можно открыть вручную, используя "Окно"> "Перспектива"> "Открыть проекцию"> "Отладка").

Как только одна из ваших точек останова была достигнута, вы должны увидеть в перспективе отладки рамку "Debug" (чтобы открыть ее вручную, используйте Window> Show View> Debug). Это выглядит так:

enter image description here

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