尽管代码显然在运行,但Intellij IDEA 11.0.2断点中的Grails 2.0.4不会挂起

时间:2012-09-11 21:38:19

标签: debugging grails intellij-idea breakpoints grails-2.0

我有一个Controller类,其中包含非常无聊的代码。如果我转到run->调试菜单并运行它,然后导航到与控制器关联的页面,则不会挂起任何断点。期。红色圆圈中有复选标记,表示我没有错误地将它们设置在非可执行行上。我做了'grails clean'。它只影响某些控制器,另一个断点将暂停。

所有新创建的控制器也无法暂停。

它必须是IntelliJ中的配置问题,但它似乎不会让步。

同样发生,不知道它是否相关:在Grails视图的侧面板上,它强调控制器“带有红色曲线。树视图中没有任何叶子被加下划线。

3 个答案:

答案 0 :(得分:3)

我发现了这个问题:

我最初用Grails 1.3.7创建了这个项目。在发现仍未修复的错误后,我升级到2.0.4。在1.3.7中,默认情况下,操作似乎是闭包,您可以在其中设置断点,并且它们将受到尊重。在2.0.4中,默认情况下是方法,并且这些方法可以有断点,但是关于新版本的某些操作不允许在闭包中遵守断点。如果您创建一个新的操作闭包并尝试设置断点,它会警告您“该行上没有可执行代码”。但是现有的闭包你没有得到这样的警告,并且断点都有很少的红色勾选标记(错误地)表明它们应该被尊重。

将这些更改为方法操作似乎可以解决问题。对于那些可能希望得到更一般答案的人来说,我很抱歉,我希望这会对你有所帮助。

答案 1 :(得分:1)

我不熟悉Grails,但我肯定遇到过Java这个问题。对我来说,IntelliJ没有拿起我的更改而没有重新构建我的项目(它运行时已经过时的编译代码)。尝试清理程序集目录(Grails相当于.class文件的位置)并重新构建项目。

答案 2 :(得分:1)

我从来没有遇到完全相同设置的问题(在Win7下)...如何尝试使用debug:grails-debug run-app从cmd行运行grails,然后将IDEA连接到端口5005上的远程调试并查看如果这改变了什么?