【问题标题】:IntelliJ 12 debugger not working with grails applicationIntelliJ 12 调试器不适用于 grails 应用程序
【发布时间】:2013-06-20 02:58:50
【问题描述】:

我在我的 BootStrap 代码中设置了一个断点。调试器显然是断线了。但是,它没有显示以蓝色突出显示的代码,并且没有显示局部变量。这使得进行任何调试变得非常困难。请参阅下图以了解我的意思。

我按照 Sergey 的建议将我的 conf 目录设置为源路径。现在我可以在 init() 的断点处停止,如下所示:

但是,当我尝试进入由 init() 调用的闭包之一时,执行会进入一些未知的 fetchLatestIfExists 代码,如下所示:

【问题讨论】:

  • 使用打印进行调试是否有效?
  • 我对使用打印语句进行调试没有兴趣。我为 IntelliJ 付了很多钱,我希望它能奏效。
  • 是的,对不起,我不是那个意思,我只是要求确保代码确实在执行。只是我在使用 intellij 的调试器时遇到了一些奇怪的行为,当有疑问时,我会返回打印语句,看看调试器是否在愚弄我。这是一种有效的调试技术。 :)
  • 12.1.4(最新)我确认在默认和远程调试中我都能够在BootStrap.groovy 内打断点。如果您不是最新版本,请升级并重试。顺便说一句,你觉得达库拉怎么样?
  • 我也可以在调试器中访问局部变量。

标签: debugging grails intellij-idea


【解决方案1】:

看起来有些插件也有 BootStrap.groovy 文件。 IDEA 无法确定当前执行的是哪个 BootStrap.groovy,因为调试信息仅包含文件名。

我可以建议两种解决方法:
1.) 将 $PROJECT_ROOT/conf 标记为源根目录
2.) 将您的初始化代码移至 MyBootStrap.groovy。 (Grails 在启动时执行所有 $PROJECT_ROOT/conf/*BootStrap.groovy 脚本)

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多