2013-06-20 5 views
2

Я установил точку останова в моем коде BootStrap. Отладчик явно ломается на линии. Однако он не показывает код, выделенный синим цветом, и локальные переменные не отображаются. Это делает ужасно трудным сделать любую отладку. Пожалуйста, см. Изображение ниже, чтобы понять, что я имею в виду.IntelliJ 12 отладчик, не работающий с приложением grails

screen shot of debugger

Я установил мой каталог конф в качестве исходного пути, как предложил Сергей. Теперь я могу остановиться на точке останова в Init(), как показано ниже: breakpoint in init method

Однако, когда я пытаюсь уйти в один из затворов, вызываемых Init(), выполнение уходит в какой-то неизвестный fetchLatestIfExists код как ниже: unknown "fetch latest" code

+0

выполняет отладки с помощью печатных работ? – elias

+0

У меня нет интереса к отладке с помощью операторов печати. Я заплатил хорошие деньги за IntelliJ, и я ожидаю, что это сработает. – wholladay

+0

Да, извините, я не имел в виду именно так, я просто просил убедиться, что код действительно выполняется. Просто я столкнулся с некоторыми странными поведением с отладчиком Intellij, когда сомневаюсь, я возвращаюсь к отчетам о печати, чтобы проверить, не отвлекает ли отладчик меня. Это эффективная технология отладки. :) – elias

ответ

0

Похоже, что у какого-то плагина есть файл BootStrap.groovy. IDEA не может определить, в какой момент выполняется BootStrap.groovy, поскольку информация об отладке содержит только имя файла.

Я могу предложить два метода обхода:
1.) Марк $ PROJECT_ROOT/конф в качестве источника корня
2.) Переместить код инициализации MyBootStrap.groovy. (Grails выполняет все скрипты $ PROJECT_ROOT/conf/* BootStrap.groovy при запуске)