Nano Hash - криптовалюты, майнинг, программирование

Отладчик Groovy не синхронизирован

У меня возникли трудности при попытке отладить код в grails. Это сложно передать в текст, поэтому я разместил видео-ролик, показывающий, в чем именно заключается проблема, здесь < / а>. Короче говоря, пока я отлаживаю, отладчик начинает прыгать с места на место, не следуя логике программы, которая у меня есть. Единственный другой подобный вопрос, который я нашел, - год назад, не имел решения, и его можно найти здесь.

Лучшее предположение, которое у меня есть до сих пор, заключается в том, что отладчик отображает текст, который я ввел, но на самом деле выполняет старую версию файла класса, который он где-то кэшировал. Поэтому я попробовал:

  • очистка проекта
  • удаление вручную всех файлов классов из целевой папки и из папки target-eclipse
  • Поиск дополнительных файлов с похожими именами на всем моем жестком диске
  • удаление моего проекта из рабочей области и повторное добавление его
  • закрытие и повторное открытие IDE
  • зависимости обновления grails
  • Импорт проекта в новую IDE (использовал GGTS, перешел на IntelliJ)

Ни одно из этих решений не подействовало. Я понял, что проблема в файле .groovy, а я писал почти чистую Java, поэтому удалил файл .groovy и заново создал класс в файле .java. Это решило мою проблему. К сожалению, у меня снова возникла проблема, и на этот раз она связана с контроллером, который в значительной степени полагается на структуру grails, так что это решение не вариант. Помимо файла .groovy, еще одно сходство заключается в том, что код прерывается оператором if.

Мои следующие шаги:

  • Убедитесь, что приложение не выполняет код, который я вижу, используя функции печати для отслеживания фактического потока выполнения.
  • закомментируйте всю функцию и повторно добавьте функциональность по одной строке за раз, чтобы увидеть, смогу ли я увидеть, что ее нарушает.
  • Удалите файл .groovy и воссоздайте его как другой файл .groovy.

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


  • Обновление: я подтвердил, что выполняемый код не совпадает с кодом, который показан для выполнения. Подробности ‹a href=youtube.com/watch?v=K2tDUlTGoJ4 ›здесь‹ / а ›. В частности, места, где отладчик останавливается в конце блоков кода, - это просто иллюзия. На данный момент я работаю над этим, игнорируя аномальные скачки в отладчике. Я смог достаточно хорошо кодировать таким способом, но он далек от идеала. 05.04.2013
  • Обновление: я заметил еще одну, предположительно связанную проблему с отладчиком Grails. Я пытался обойти проблему, добавляя переменную, а затем распечатывая ее значение в разных точках выполнения программы. Я обнаружил, что когда я очищал и перекомпилировал программу, строка, объявляющая переменную, не выполнялась, но выполнялась строка, вызывающая переменную для печати ее значения. Очевидно, это вызвало исключение, потому что отладчик считал, что переменная не была объявлена. 22.04.2013
  • Я попытался решить все вышеперечисленные проблемы, обновив grails 1.3.7 до grails 2.2.0. Обновление шло не очень хорошо, и на данный момент приложение довольно маленькое, поэтому я создал новый проект в grails 2.2.0, создал пустые классы с правильными именами, а затем вставил логику из моего старого кода. Эффект заключался в том, чтобы стереть все ранее существовавшие проблемные области и ошибки отладчика, но затем та же проблема возникла и в новом проекте, только в разных местах кода. 22.04.2013
  • Я пробовал много вариантов компиляции для компиляции скриптов Groovy и их последующего выполнения, но у меня все еще есть описанная вами проблема с рассинхронизацией отладчика. :( 16.10.2013

Ответы:


1

См. Мой комментарий к проблеме с jira, которую вы подняли. Вы обнаружили проблему с компилятором groovy и с тем, как он вычисляет номера строк. Это не проблема с запуском неправильных файлов классов или использованием неработающего отладчика. Отладчик делает именно то, что от него ожидается. Это компилятор предоставляет ошибочную информацию о номере строки.

Следующим шагом, как описано в проблеме, является создание простого проекта, воссоздающего ошибку. Я сам пытался это сделать, но не смог. Итак, пожалуйста, предоставьте что-нибудь, с чем мы можем работать. Затем мы можем уведомить команду компиляторов groovy.

22.04.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..