从命令行运行gradle unit测试时,如何获得调试器?

时间:2017-07-05 15:24:39

标签: gradle

我从gradle命令行运行单元测试(因为从IntelliJ运行它们导致出于某种原因出现问题。)

所以我想从单元测试打开调试端口进行远程调试。我怎样才能做到这一点?有没有办法将-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y发送到单元测试本身?我使用的是Gradle守护程序模式,所以我不确定这一切是如何工作的,也无法找到有关它的任何文档。

1 个答案:

答案 0 :(得分:2)

实际上事实证明没有必要手动设置jvmArgs。相反,您只需要调用(docs):

gradle someTestTask --debug-jvm

它将停止执行并等待调试器连接。现在当这个过程挂起时,转到IntelliJ,Eclipse(或其他IDE)并设置远程调试配置(记得设置源模块 - 红色箭头):

remote debug configuration

设置好之后,运行调试器就完成了。断点可以直接在IntelliJ中设置。

上面的答案如下:

test {
   jvmArgs '-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y'
}