2010-07-04 4 views
3

В настоящее время я интегрирую некоторые новые классы в существующее приложение. У меня есть JDialog, который при щелчке выдает несколько исключений во время выполнения.Каскадные ошибки времени выполнения в Java Swing

Я новичок в отладке Java - почему все эти функции библиотеки Swing/AWT были бы «недоступны»?

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

http://i.imgur.com/jDWEe.png

Почему эти методы недоступны?

ответ

1

«Недоступно» означает, что классы были скомпилированы без отладочной информации, то есть с помощью переключателя -g:none с javac. Поскольку это стандартные классы API, я подозреваю, что ваш проект eclipse настроен на использование JRE System Library из установки JRE, а не JDK. Вы можете изменить это в свойствах проекта (щелкните правой кнопкой мыши по проекту -> Свойства -> Путь сборки Java -> Библиотеки); вам, возможно, придется сначала установить JDK.

+0

Мне пришлось указывать затмение на JDK, как вы сказали, и теперь у меня больше информации для отладки. Благодарю. – Merto

2

Эти классы доступны, они были скомпилированы без номеров строк, поэтому отладчик eclipse просто сообщает вам, что он не знает, какая строка JButton из исходного источника и т. Д. В данный момент включена. См. Различные варианты javac -g. Информация о номере линии не будет ужасно полезна при отладке, но в вашем собственном коде это поможет отследить причины следов стека и, конечно же, поможет отладчику узнать, где он находится.

+0

А я предположил, что перспектива «Отладка» автоматически создается с помощью этих флагов компиляции. – Merto