Отладка исходного кода сгенерированного кода в IntelliJ

1

Я хочу отлаживать код, созданный Dagger в IntelliJ. Исходные файлы, созданные кинжалом, помещаются в /target/generated-test-sources/test-annotations и /target/generated-sources/annotations.

Я просмотрел диалог Run/Debug Configurations и не видел ничего очевидного. Я также проверил параметры модуля, и оба они перечислены в качестве исходных папок, поэтому IntelliJ определенно знает, что они являются исходными, но по какой-то причине не попадает ни на какие точки останова, которые я ввел в сгенерированный код.

Теги:
intellij-idea
debugging
dagger

2 ответа

2

Для IntelliJ 13.1.5:

Если /target/generated-sources/annotations отмечены как исходный корень источника, IntelliJ никогда не запускает точки останова. Если /target/generated-sources/annotations не отмечены как сгенерированный исходный корень, IntelliJ будет запускать точки останова, но не будет переходить к связанному источнику.

  1. Unmark /target/generated-sources/annotations в качестве источника исходных корней
  2. Установите точки останова в сгенерированном источнике
  3. Запустите свой код, чтобы вызвать точку останова
  4. Mark /target/generated-sources/annotations как генерируемые корни источников

Теперь IntelliJ ведет себя так, как ожидалось. Вероятно, вам нужно будет удалить /target/generated-sources/annotations после того, как вы закончите, чтобы контрольные точки снова запускались.

Я создал ошибку IntelliJ для этой проблемы. Пожалуйста, поддержите его.

0

Все, что вам нужно, это исходные файлы, доступные для IDEA, тогда вы должны уметь отлаживать. Убедитесь, что папки, содержащие файлы, включены в параметры структуры проекта, тогда вы должны иметь возможность открывать файлы с помощью ctrl + n и устанавливать контрольные точки.

  • 0
    Они уже перечислены как исходные папки в настройках модуля.
  • 0
    Ты можешь их открыть? Возможно, вам нужно пометить папки, в которых они находятся, как источник root. Это можно сделать, щелкнув правой кнопкой мыши по папке и выбрав «Пометить как». Обозначены ли точки останова буквой "v" или "x"?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню