7

我从命令行运行 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'

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

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

我究竟做错了什么?

谢谢。

4

2 回答 2

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 中设置调试参数将配置分叉进程以进行调试。

于 2014-08-14T07:26:00.200 回答
0

在 IntelliJ(至少在 12.1.5 上)中,您可以转到 JetGradle,右键单击 jettyRun,然后单击 Debug。

于 2014-02-15T23:53:52.007 回答