使用JettyRun任务,很容易调试。您只可以在GRADLE_OPTS中添加诸如-Xdebug -Xrunjdwp:transport=dt_socket,address=12233,server=y,suspend=n之类的内容,然后连接到gradle进程本身即可。

但是,如果您使用daemon = true运行JettyRun任务,则此操作无效。一个这样的任务的示例:

task jettyRunDaemon (type: JettyRun) {
    contextPath = '/'
    classpath = sourceSets.test.runtimeClasspath
    webAppSourceDirectory = file('src/test/webapp')
    daemon = true
}

我尝试了其他一些操作,例如将org.gradle.jvmargs设置为与上述类似的操作,但无济于事。如何获取发送到守护进程的调试参数?

最佳答案

我会再给org.gradle.jvmargs。尝试将以下内容放入gradle.properties文件:

org.gradle.jvmargs=-XX:MaxPermSize=256M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4001

我在gradle 1.8中使用了它,并且能够附加并逐步执行代码。

10-08 13:29
查看更多