我从命令行运行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'
......这让我觉得一切都按预期工作。
然后我发出应该导致命中断点的请求。但是断点永远不会被触发。
我做错了什么?
感谢。
答案 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。