Debugging 如何让IDEA像GGTS3.5一样直接调试Grails2.3.x应用程序?

Debugging 如何让IDEA像GGTS3.5一样直接调试Grails2.3.x应用程序?,debugging,grails,intellij-idea,reloading,Debugging,Grails,Intellij Idea,Reloading,由于Grails2.3.x新的分叉执行,IDEA(现在的版本为13.1)只能远程调试它。 但是GGTS 3.5/M2可以直接调试它,即使在分叉执行中也是如此。 IDEA可以像GGTS 3.5一样做同样的事情吗 或者我可以完全禁用分叉执行,让Grails2.3.x只使用Grails2.2.x这样的想法吗? 我试过这个: 但当我通过在grails app/conf/BuildConfig.groovy中设置禁用分叉执行时: grails.project.fork = [ test: fals

由于Grails2.3.x新的分叉执行,IDEA(现在的版本为13.1)只能远程调试它。 但是GGTS 3.5/M2可以直接调试它,即使在分叉执行中也是如此。 IDEA可以像GGTS 3.5一样做同样的事情吗

或者我可以完全禁用分叉执行,让Grails2.3.x只使用Grails2.2.x这样的想法吗? 我试过这个: 但当我通过在grails app/conf/BuildConfig.groovy中设置禁用分叉执行时:

grails.project.fork = [
    test: false,
    run: false
]
在IDEA中进行调试,只有在不更改任何代码的情况下,调试才能工作,否则重新加载功能将崩溃(可重新加载类型的控制台输出子类型不可重新加载…blablabla),断点将不再停止

因为这不是一个包含大量测试的大型项目,所以我在fork模式中遇到了麻烦。我无法再使用ctrl+c关闭控制台(有时,stop app不起作用,我必须在task manager中终止java进程),我无法直接在IDEA中调试,有人能给我一个解决方案吗?

使用

grails run-app --debug-fork
这将在调试模式下启动fork。然后在IntelliJ中,转到运行/编辑配置,并添加一个带有默认设置的新“远程”配置(可以随意调用)


然后,每次您想要调试时,只需使用此新配置连接远程调试器(您只需创建一次)

是的,您可以通过删除或注释掉自动放入BuildConfig的配置部分来避免在分叉模式下运行。请注意,如果更改Groovy版本,则需要分叉编译,并且必须使用远程调试器选项

//Removing fork
//grails.project.fork = [
//    // configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
//    //  compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
//
//    // configure settings for the test-app JVM, uses the daemon by default
//    test: [maxMemory: 768, minMemory: 64, debug: true, maxPerm: 256, daemon:true],
//    // configure settings for the run-app JVM
//    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
//    // configure settings for the run-war JVM
//    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
//    // configure settings for the Console UI JVM
//    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
//]

编辑:抱歉,这只适用于IDEA 13.0.x,并在13.1中中断

是的,我知道,您必须远程调试。但这并不方便,我想找到一种直接调试它的方法,就像ggts 3.5一样。我已经尝试过了,就像set grails.project.fork=false一样。