如何调试build.gradle执行?

时间:2015-10-01 06:45:25

标签: java debugging intellij-idea gradle

当我处理一个对我来说不熟悉的新java源代码时,我通常会在运行时调试并遵循它的行为,查看对象的状态,有时会在运行时执行表达式并观察系统的工作原理。这有助于非常快速地学习新的源代码,甚至可以在不知道所有内容的情况下开始解决问题。

现在gradle使用groovy(因此我们缺乏编译时安全性和正确的自动完成)我想使用相同的方法,因为gradle build对我来说是一个魔术。我想设置一个断点,就像在普通的java代码中一样,停在那里,看看有什么对象具有哪些状态等等。只是环顾四周。

我们如何使用gradle执行此操作?

目前,我正在做这样的事情,以便了解一些对象是否包含等等,但这显然是不够的。

import groovy.json.*

defaultTasks 'main'

apply plugin: 'java'

task main << {
    println new JsonBuilder( convention ).toPrettyString()
}

1 个答案:

答案 0 :(得分:1)

如果你想调试gradle脚本,那么这个简短的tutorial对你有用。

主要的是,Idea启动了一个执行gradle任务的守护程序,你必须将调试器附加到远程进程。要做到这一点,您需要修改GRADLE_OPTS环境变量以启用远程调试,方法是添加:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

然后您只需要在Idea中配置远程调试,通过命令行启动脚本,然后将调试器附加到它。