Eclipse - невозможно установить точку останова из-за отсутствующих атрибутов номера строки - PullRequest
335 голосов
/ 05 июня 2009

Я получаю эту странную ошибку в Eclipse при попытке установить точку останова.

Unable to insert breakpoint Absent Line Number Information

Я установил флажок в параметрах компилятора, но не повезло.

Ответы [ 38 ]

0 голосов
/ 28 марта 2018

У меня была похожая проблема в проекте Spring MVC + Maven; и потратил 2 часа, пытаясь выяснить, почему целевая папка не обновляется классами, содержащими информацию о строках.

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

  1. Убедитесь, что в Свойствах проекта> Java Compiler выбрано «Добавить атрибуты номера строки в сгенерированные поля классов (используемые отладчиком).
  2. Очистить весь проект. . (Меню> Проект> Очистить ...) Убедитесь, что целевая папка пуста.
  3. Сборка проекта (Меню> Проект> Сборка проекта)
  4. Убедитесь, что в вашей целевой директории сгенерированы новые классы.
  5. Запустить отладку; при работе на WebServer - убедитесь, что ваш веб-сервер работает в режиме «Отладка».

Если сомневаетесь - содержат ли скомпилированные файлы .class номера строк или нет - откройте файлы .class в Eclipse. Eclipse декомпилирует файлы и сообщит вам, существуют ли номера строк или нет.

enter image description here

0 голосов
/ 13 июня 2016

У меня была та же проблема с одним конкретным проектом, и я продолжал пытаться сбросить атрибуты номера строки в Window-> Preferences ... Затем я понял, что у каждого проекта есть свои собственные настройки для атрибутов номера строки. Щелкните правой кнопкой мыши проект, перейдите в свойства, выберите JavaCompiler и установите флажок «Добавить атрибуты номера строки ...»

0 голосов
/ 10 мая 2018

Я пробовал большинство предыдущих решений, но проблема все еще была. Вот что я сделал дальше:

  • Удалено приложение из Eclipse
  • остановлен сервер
  • Удалить папку приложения из веб-приложений
  • Удалить содержимое из временной папки на сервере
  • Удалить содержимое из рабочей папки на сервере
  • Повторно открыть приложение на Eclipse
  • Запустить сервер

Может быть, некоторые из этих шагов не нужны, но «на всякий случай».

Так что, если предыдущие решения все еще не работают для вас. Попробуй это. Надеюсь, это поможет; -)

0 голосов
/ 12 октября 2018

Для веб-проекта с сервером Tomcat я решил его, выполнив следующие действия.

  1. Открыть окно -> Показать представление -> Прочее -> Серверы.
  2. Дважды щелкните на работающем сервере Tomcat. (Обзор сервера Tomcat будет открыт) * ​​1006 *
  3. Теперь нажмите на ссылку Запустить конфигурацию.
  4. Нажмите на вкладку источников.
  5. Нажмите на Добавить.
  6. Выберите проект Java
  7. Будут показаны все ваши проекты.
  8. Выберите вкл. Вы хотите отладить.
  9. Сохраните конфигурацию и перезапустите или снова соберите приложение.
0 голосов
/ 29 ноября 2018

Я столкнулся с той же проблемой в моей IDE затмения. Я прочитал все ответы на этот вопрос и перепробовал почти все упомянутые настройки, но не повезло.

Итак, я попытался изменить среду выполнения проекта, ранее это была JRE - Java SE 1.8 Default runtime

Я попытался изменить JRE на JDK, и у меня это сработало:

JDK selected

Ниже приведены инструкции по переходу с JRE на JDK:

  • Щелкните правой кнопкой мыши по проекту
  • Нажмите Свойства -> Путь сборки Java
  • Выберите вкладку - «Библиотеки»
  • Нажмите кнопку «Добавить библиотеку». Откроется окно «Добавить библиотеку»
  • Выберите «Системная библиотека JRE» -> нажмите кнопку «Далее»
  • Выберите «Альтернативный JRE»
  • Нажмите на установленную кнопку JRE
  • В новом окне нажмите «Добавить». Откроется другое окно «Добавить JRE».
  • Выберите «Стандартная ВМ». Нажмите Далее.
  • Нажмите на кнопку каталога.
  • Выберите путь к вашей директории установки "JDK" и нажмите "ОК". Затем нажмите Готово.
  • Теперь проверьте недавно добавленный "JDK" Select on JDK

  • Удалить все другие установленные JRE из списка (необязательно)

  • Применить-> ОК
  • Выберите "JDK из альтернативного выпадающего списка JRE и нажмите" Готово " Alternate JRE
  • Теперь из приведенного ниже списка удалите экземпляр JRE. Remove unwanted JRE
  • Нажмите Применить -> ОК

И все готово!

0 голосов
/ 23 мая 2014

Я пытался отладить менеджер журналов и мне нужно было изменить jre на jdk, а затем выбрать этот jdk на вкладке "main", "Java Runtime Environment" | «JRE во время выполнения» отладочной конфигурации, тогда все было хорошо.

0 голосов
/ 21 мая 2019

Как исправить ошибку точки останова при отладке в Eclipse? Замените то, что у вас есть, только этими строками.

    eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
0 голосов
/ 20 марта 2015

Я видел эту проблему, когда аннотировал класс с помощью @ManagedBean (javax.annotation.ManagedBean). При запуске недавно выполненного приложения на JBoss EAP 6.2.0 появилось предупреждение. Игнорирование и запуск в любом случае не помогли - точка останова не была достигнута.

Я вызывал этот бин, используя EL на странице JSF. Теперь ... возможно, что @ManagedBean не годится для этого (я новичок в CDI). Когда я изменил свою аннотацию на @Model, мой компонент был выполнен, но предупреждение о точке останова также исчезло, и я достиг точки останова, как ожидалось.

Подводя итог, можно сказать, что аннотация @ManagedBean испортила номера строк независимо от того, была ли эта аннотация неправильной.

...