由于Grails 2.3.x的新分支执行,IDEA(现在的版本13.1)只能远程调试它。但是GGTS3.5/M2可以直接调试它,即使在派生执行中也是如此。IDEA能像GGTS 3.5一样做同样的事情吗?
或者我可以完全禁用forked执行,让grails 2.3.x像grails 2.2.x一样使用IDEA?我尝试过这个:IntelliJ IDEA Debugger isn't working on a Grails Project,但是当我通过在grails-app/conf/BuildConfig.groovy中设置来禁用派生执行时:
grails.project.fork = [
test: false,
run: false
]并在IDEA中调试它,Debug只有在不更改任何代码的情况下才能工作,否则重载函数将崩溃(可重载类型的控制台输出子类型不是reloadable...blablabla),断点将不再停止。
因为这不是一个有大量测试的大型项目,所以我在fork模式中遇到了麻烦。我不能再使用ctrl+c关闭控制台(有时,stop-app不起作用,我必须在任务管理器中终止java进程),我不能直接在IDEA中调试,有人能给我一个解决方案吗?
发布于 2014-03-20 15:34:45
使用
grails run-app --debug-fork这将在调试模式下启动fork。然后在IntelliJ中,转到运行/编辑配置,并使用默认设置添加一个新的“远程”配置(你想怎么叫都行)。
然后,每次您想要调试时,只需使用此新配置附加远程调试器(您只需创建一次)
发布于 2014-03-21 04:48:12
是的,您可以通过删除或注释掉自动放置到BuildConfig中的那部分配置来避免在派生模式下运行。请注意,如果更改Groovy版本,则需要forked编译,并且必须使用远程调试器选项。
//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中中断
https://stackoverflow.com/questions/22522258
复制相似问题