2009-11-03 2 views
16

Я отлаживаю некоторый код Java с Eclipse 3.4.2. Я отключил все точки останова, но отладчик все еще останавливается на определенной строке. Эта точка представляет собой несколько строк до запуска null pointer exception. Любопытно, что когда я запускаю ту же конфигурацию кода/запуска, но не в отладчике, исключение нулевого указателя не возникает.Отладка Eclipse - Остановка без точки останова

Кроме того, если я пройду через этот код с начала метода, вызывающего null pointer exception, используя тот же вход, проблем нет. Это происходит только тогда, когда я удаляю все точки останова, но Eclipse решает остановиться там независимо.

Почему это могло произойти?

ответ

16

Eclipse также поддерживает точки исключения исключений (которые останавливают вашу программу при вызове определенного исключения). Вы можете увидеть их на панели «Точки останова» отладчика. В вашем случае это может быть, например, ClassCastException.

Если эта панель пуста, то это может быть ошибка в вашей виртуальной машине Java или, возможно, у вас есть два процесса, открытых в отладчике. Если все остальное не удается, попробуйте отладить его в Eclipse 3.5.1.

+0

Спасибо большое! Это был мой случай –

4

Я тоже столкнулся с этим и еще не нашел удовлетворительного ответа. Попробуйте обновить рабочую область, полностью перестройте и перезапустите Eclipse.

По крайней мере, один из этих предложений поможет.

В противном случае - восстановить или восстановить свое рабочее место (я всегда держать резервную копию)

+0

Я удалил свою рабочую область, и она сработала, надеюсь, что она не возвращается –

+2

Также попробуйте выполнить Run-> Remove All Breakpoints по http://stackoverflow.com/questions/7178096/eclipse-stops-at-non- existent-breakpoint – KCD

36

Я была такая же проблема, и, наконец, нашел следующий вариант конфигурации: Windows -> Preferences -> Java -> Debug -> Suspend выполнение на неперехваченных исключениях Я снял флажок, и проблема исчезла. Однако, может быть, хорошо знать о неперехваченных исключениях. Я просто отключил его, потому что проблема была в Spring Framework, а не в моем коде, и поэтому я ничего не мог исправить ... Надеюсь, что это поможет :)

+0

Спасибо за этот ответ - у меня была такая же проблема, но ваш ответ сработал для меня. –

Смежные вопросы