Gradle系列7--调试Gradle插件

前面几篇关于Gradle插件的开发。在开发过程中,遇到问题就需要找出问题出在哪里。这个问题是自定义插件中还是其他地方?通常报错会给提示:

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

然后添加--info--debug选项或许可以解决。有时我们需要深入源代码找出问题发生时的情况,又或者想要跟踪代码的执行过程以了解原理等等。这种方式仍然称为“断点调试”。

工具

IntelliJ IDEA、Android Studio或者类似环境

断点调试

点击Edit Configurations

debug-gradle-1.png

点开左边的“+”号,点击“Remote”


debug-gradle-2.png
debug-gradle-3.png
  1. 修改名称(不改默认Unnamed)
  2. Use module classpath这一项如果要调试顶级build.gradle保持默认就可以了,如果是gradle插件工程中的代码就选插件所在的模块。
  3. 默认远程调试的服务器是localhost:5005
  4. 点击"OK"

选中远程调试任务如图


debug-gradle-4.png

在需要调试的地方打上断点,然后命令行执行调试任务

./gradlew tasks -Dorg.gradle.debug=true --no-daemon

上面执行tasks任务并打开Gradle的“调试模式”。运行时你会发现Gradle停止在远程配置调试器连接之前。

 > Starting Daemon

点击调试按钮就可以开始连接远程调试了。

概括

  1. IntelliJ(Android Studio) Edit Configurations点击+找到Remote点击创建远程配置
  2. 填写信息. Name自定义, 默认远程调试localhost:5005
  3. Search sources using module's classpath选择需要调试的插件模块
  4. 命令行执行任务调试: ./gradlew tasks -Dorg.gradle.debug=true --no-daemon,等待连接调试
  5. 源代码断点, 选择刚创建的调试配置, 点击 Debug Xxx(Shift+F9)

远程调试同样适用于注解处理器(Annotation Processor)

问题

Remote Configuration debugger **can not be attached.

  • 这是因为端口(默认5005)已经被另一个正在运行的Gradle守护进程占用了,简单的停止即可
    ./gradlew --stop
    

参看How to debug Gradle Plugins with IntelliJ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,478评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,825评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,482评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,726评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,633评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,018评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,168评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,320评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,264评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,288评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,995评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,587评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,909评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,284评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,862评论 2 339

推荐阅读更多精彩内容