编译期注解学习七-如何进行调试

1 编译期注解调试步骤

编译普通程序,只需要直接点击“app”就能够完成编译,调试更是简单,直接点击debug build或者attach to process 就可以开始调试。
注解处理器Processor在编译期执行的,此时还没有app的进程,那么如何把调试器attach到编译期间的进程上,只能通过远程调试,远程调试可以把调试器attach到任意时期的进程上。

1.1新建远程调试

如下图所示,选择Edit Configurations …
编译期注解学习七-如何进行调试_第1张图片
选择Remote,所有配置不用修改,只需要给Romote起一个名字
编译期注解学习七-如何进行调试_第2张图片编译期注解学习七-如何进行调试_第3张图片
复制得到的配置:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005,后面修改task时会用到

1.2 配置compileDebugJavaWithJavac 任务

找到app下的task任务compileDebugJavaWithJavac(因为编译时会先运行这个任务),右键选择create ‘CanvasDrawDemo:app’
编译期注解学习七-如何进行调试_第4张图片
把前面复制的配置放在VM options下,修改suspend= n为suspend=y,让任务一直等待进程。
编译期注解学习七-如何进行调试_第5张图片

1.3 如何开始调试

注意:compileDebugJavaWithJavac命令有一个特性,如果注解所在文件不发生任何改变的话,编译时注解处理器只会运行一遍,所以运行过一次之后,如果不clean project,会直接build完成,这就是processor生成文件时要看到结果需要每次点击rebuild project。
所以开始调试前,执行clean project。

别忘了在processor中设置断点

选择配置了参数的compileDebugJavaWithJavac运行,可以在Edit Configurations 下修改删除。
编译期注解学习七-如何进行调试_第6张图片
选择新建的Romote 命令(processor_debug),点击运行Debug ‘processor_debug’(哪个debug图标)。
编译期注解学习七-如何进行调试_第7张图片
进入调试:
编译期注解学习七-如何进行调试_第8张图片
编译时注解学习一之 Element元素
编译时注解学习二之 注解处理器初探AbstractProcessor
编译时注解学习三之 注解处理器AbstractProcessor工具和Element属性简述
编译期注解学习四 简单的view注入框架
编译期注解学习五 - ElementKind,TypeKind,不同Element类型判断
编译期注解学习六- 生成java文件javapoet
编译期注解学习七-如何进行调试
编译时注解学习八 -模板文件读取

你可能感兴趣的:(编译期注解学习,编译期注解调试)