Отладка в Eclipse - ClassNotFoundException - PullRequest
14 голосов
/ 24 декабря 2010

когда я отлаживаю в Eclipse простое консольное приложение, я получаю много строк ClassNotFoundException в окне отладки.Это не ошибка, немного ниже, в другой панели я получаю «Источник не найден».Я понимаю, что это потому, что исходный код требуемого класса недоступен, но я хотел бы пропустить эти строки ... Мне приходится много раз нажимать кнопку "шаг за шагом" или "выйти", чтобы выйтииз этих состояний.

Что я могу сделать, чтобы вообще избежать этих бесполезных строк?

Спасибо

Ответы [ 5 ]

15 голосов
/ 17 сентября 2012

У меня эта проблема уже несколько месяцев. Я отлаживал Java-приложение, и каждый раз, когда я нажимал на конструктор, eclipse пытался найти соответствующий исходный код ClassNotFoundException базовой библиотеки java.

Я решил эту проблему, щелкнув правой кнопкой мыши в окне отладки ClassNotFoundException, когда я нажал на него, и щелкнув Тип фильтра. Затем я снова щелкнул бы правой кнопкой мыши в окне отладки и выбрал бы Edit Step Filters .... В окне Edit Step Filters я проверил все в разделе Defined Step Filters и снял флажок в нижней части окна (Фильтр синтетических методов, Фильтр статические инициализаторы и т. д.).

Надеюсь, что это поможет другим в будущем.

11 голосов
/ 18 апреля 2015

после запуска режима отладки.

Перейти к Окно → Показать представление → Точки останова .Теперь вы сможете увидеть вкладку «Точка останова» в режиме отладки.

Снимите отметку с опции «ClassNotFoundException: перехвачено и не отловлено».

3 голосов
/ 24 декабря 2010

В обычном приложении ваш собственный код (ваши java-файлы) смешивается с кодом других (файлы классов в библиотеках, среда выполнения и т. Д.). Каждый раз, когда вы входите в файл класса, вы получаете это «Источник не найден» - Предупреждение. (как вы уже упоминали в своем вопросе)

Сначала вы можете попытаться получить исходные коды для библиотек и связать их с вашими библиотеками (например, в разделе «Настройка проекта => Настройки ... / Путь сборки Java / Библиотеки => развернуть jar-library => Исходное вложение ").

Если исходный код недоступен, вы должны использовать команды отладчика, чтобы избежать перехода в файлы этого класса. «Шаг за шагом / возврат» может помочь, но «Просмотр отладки» (который можно найти в верхнем левом углу в «Перспективе отладки») может быть даже более полезным.

В «представлении отладки» вы можете увидеть каждую ветку вашего приложения. Если вы в данный момент отлаживаете поток, вы можете увидеть текущую трассировку стека. Вместо того, чтобы постоянно нажимать F6 и F7, вы также можете перемещаться, щелкая там элемент трассировки стека.

Типп: я часто использую - (Правый клик -> "бегать к строке") - это очень полезно для работы с циклами и т. Д.

3 голосов
/ 24 декабря 2010

Во время отладки попробуйте Step Return (F7 как ярлык), чтобы подняться на один уровень за раз, и, следовательно, из библиотек у вас нет подключенного источника.

0 голосов
/ 26 апреля 2019

Вхождение ClassNotFoundException является наиболее распространенным в отладке, чтобы избежать этих исключений. В окне точек останова (Windows> Показать представление> BreakPoints) снимите флажок «ClassNotFoundException: catch и uncaught» для продолжения обычной отладки.

...