CaptainCTR 2020-02-25
个人博客
在开发Gradle插件时,经常会需要通过调试来排查问题,如果只使用日志输出来定位的话,效率不高,可以通过单步调试来定位问题。关于调试插件的资料,网上比较多,最终经过实践,参照这一篇文章 https://juejin.im/post/5dc8d947e51d455523170b7f 的方法,实现了插件的调试。在此也记录一下具体步骤。至于Gradle插件的开发,可以参照其它的资料,或者参考上一篇文章。
通过【Run】-【Edit Configurations】新增Configuration
在打开的界面,单击左上角的+,选择Remote
在编辑界面,复制Command line arguments for remote JVM的配置,选择Use module classpath为需要调试的插件,Name项可以随意。
编辑好后,点击OK保存。
在Gradle面板中,为需要引入插件的模块创建Run Configuration。这里以app为例,在app-Tasks-build-build上右击,选择Create ...
在打开的编辑界面,将之前复制的参数粘贴进VM options一栏,然后将suspend=n改为suspend=y
点击OK保存后,gradle面板会增加Run Configurations。
在需要调试的插件文件中打上断点,如在apply方法中加上断点。
如图,选择之前创建的Remote类型的Configuration,然后点击右侧的Debug
点击Debug按钮后,会看到Debug面板显示已经连接成功
gradle面板中,引入插件的模块(此处为app)-Run Configuration下的任务,双击运行
可以看到已经能断点调试