У меня возникли трудности при попытке отладить код в grails. Это сложно передать в текст, поэтому я разместил видео-ролик, показывающий, в чем именно заключается проблема, здесь < / а>. Короче говоря, пока я отлаживаю, отладчик начинает прыгать с места на место, не следуя логике программы, которая у меня есть. Единственный другой подобный вопрос, который я нашел, - год назад, не имел решения, и его можно найти здесь.
Лучшее предположение, которое у меня есть до сих пор, заключается в том, что отладчик отображает текст, который я ввел, но на самом деле выполняет старую версию файла класса, который он где-то кэшировал. Поэтому я попробовал:
- очистка проекта
- удаление вручную всех файлов классов из целевой папки и из папки target-eclipse
- Поиск дополнительных файлов с похожими именами на всем моем жестком диске
- удаление моего проекта из рабочей области и повторное добавление его
- закрытие и повторное открытие IDE
- зависимости обновления grails
- Импорт проекта в новую IDE (использовал GGTS, перешел на IntelliJ)
Ни одно из этих решений не подействовало. Я понял, что проблема в файле .groovy, а я писал почти чистую Java, поэтому удалил файл .groovy и заново создал класс в файле .java. Это решило мою проблему. К сожалению, у меня снова возникла проблема, и на этот раз она связана с контроллером, который в значительной степени полагается на структуру grails, так что это решение не вариант. Помимо файла .groovy, еще одно сходство заключается в том, что код прерывается оператором if.
Мои следующие шаги:
- Убедитесь, что приложение не выполняет код, который я вижу, используя функции печати для отслеживания фактического потока выполнения.
- закомментируйте всю функцию и повторно добавьте функциональность по одной строке за раз, чтобы увидеть, смогу ли я увидеть, что ее нарушает.
- Удалите файл .groovy и воссоздайте его как другой файл .groovy.
Любая помощь приветствуется, и, поскольку я не могу найти никаких ответов в Интернете, я буду продолжать обновлять этот вопрос по мере того, как узнаю больше.