Я отлаживаю базу данных кодов Java (не моя), и в одном классе метод toString()
переопределяется, и он имеет побочный эффект создания RuntimeException. Я вижу трассировку стека в представлении отладки Eclispe, когда у меня есть объект, выбранный в представлении "Выражения".
Нужно ли вообще отлаживать вызовы от отладчика Eclipse для toString()
? Я попытался установить точки останова в методе toString()
и я установил глобальную точку останова для всех обнаруженных и неперехваченных RuntimeExceptions. Но все точки останова внутри метода toString()
игнорируются, и Eclipse никогда не ломается в строке, которая генерирует RuntimeException внутри toString()
.
Кажется, что я нашел ответ в старой Bug-thread для Eclipse:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=12592
Точки останова отключены, когда toString()
вызывается в панели подробностей в отладочном представлении отладчиком.
Я не вижу, как eclipse невозможно отлаживать внутри переопределенного метода toString, возможно, исключение никогда не было выбрано из toString,
Я предсказываю, может быть, вы пытаетесь получить доступ кString из неконкретизируемой переменной.
Можете ли вы быть более конкретным или сложным? вы можете опубликовать свой код, хотя.. :)
UPDATE: я предполагаю, что точка останова не была вызвана eclipse, потому что ошибка была выбрана еще до того, как были удалены точки останова. поэтому вам может потребоваться изменить начальную точку останова и разбивку кода на строки и посмотреть, где она была выбрана.