Навигация в стек вызовов Java в Eclipse
В отладчиках, таких как GDB, когда вы останавливаетесь в точке останова, вы можете легко переместить стек вызовов и изучить соответствующий источник и данные кадра стека.
Как вы это делаете в Eclipse?
Ответы
Ответ 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]()
Область, которую я выделил серым цветом, показывает каждый шаг трассировки стека для потока, который в данный момент приостановлен на точке останова. Фактическая часть стека вызовов, которая в данный момент находится в режиме паузы, выделена серым цветом (поэтому, если у вас несколько потоков, вы можете увидеть, какая из них в настоящий момент приостановлена, выполнив поиск выделенной строки). Нажатие на любую строку представления трассировки стека покажет детали (например, "переменные" в этой точке стека)