在IntelliJ中调试gradle jettyRun

时间:2013-05-17 20:06:09

标签: debugging intellij-idea jetty gradle remote-debugging

我从命令行运行Jetty:

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n"

gradle jettyRun

并看到:

Listening for transport dt_socket at address: 9999

...然后在IntelliJ Idea(Ultimate 12.1.3)中创建一个包含所有默认值的新远程调试配置,仅将端口更改为9999。

当我使用远程配置启动(调试)时,我看到:

Connected to the target VM, address: 'localhost:9999', transport: 'socket'

......这让我觉得一切都按预期工作。

然后我发出应该导致命中断点的请求。但是断点永远不会被触发。

我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:5)

您可以在gradle.properties文件中设置“org.gradle.jvmargs”变量。这会导致JVM分叉,这意味着您不再调试正确的进程。

在这种情况下,您可以不设置“org.gradle.jvmargs”或传递调试参数,例如。

  

org.gradle.jvmargs = -XX:MaxPermSize = 128m -Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = y,address = 1233

在org.gradle.jvmargs中设置调试参数将配置分叉进程以进行调试。

答案 1 :(得分:0)

在IntelliJ中(至少在12.1.5上)你可以去JetGradle,右键单击jettyRun,然后点击Debug。