我目前正在开发基于grails的应用程序(版本3.12
)。不幸的是,我对框架周围的生态系统并不熟悉。我想修复代码中存在的一些错误,但我不清楚如何调试应用程序。
我读到远程调试是grails应用程序的最佳选择。这实际上是有效的:我在intellij中添加了一个“远程”执行配置文件,并启动了这样的grails:
export GRAILS_OPTS="agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
grails run-app
然而,这确实会导致我必须在intellij中启动两次遥控器。我认为这是因为grails有两个JVM运行的分支(一个用于编译/ etc,另一个用于执行)。此外,每当源代码发生变化时,显然都会分叉新的JVM。
我的问题是:如何通过配置将grails选项提供给正确的JVM进程?
我找到了一个较旧的类似帖子here。然而,这确实适用于grails 2而不是grails 3.特别是,buildConfig.groovy
已经消失,并添加了诸如
grails.project.fork = [
// ...
run: [maxMemory:1024, minMemory:64, debug:false, maxPerm:256, jvmArgs: '..arbitrary JVM arguments..']
// ...
]
到build.gradle
会导致抛出异常。
答案 0 :(得分:1)
有几种方法可以解决您的问题。一种不需要更改默认生成的构建文件或设置任何环境变量的方法是运行应用程序,如下所示:
./gradlew bootRun --debug-jvm
这将导致启动暂停,直到您连接远程调试器。我做了很多。
另一种选择是打开Application.groovy
,右键单击并选择"调试..."。