我想调试 Dagger 生成的代码在 IntelliJ 中。 Dagger 生成的源文件放入 /target/generated-test-sources/test-annotations
和 /target/generated-sources/annotations
中。
我查看了“运行/调试配置”对话框,没有看到任何明显的东西。我还检查了模块设置,这两个都被列为源文件夹,因此 IntelliJ 肯定知道它们是源代码,但由于某种原因,不会命中我在生成的代码中放置的任何断点。
最佳答案
对于 IntelliJ 13.1.5:
如果 /target/generated-sources/annotations
被标记为生成的源根,IntelliJ 永远不会触发断点。如果 /target/generated-sources/annotations
未标记为生成的源根目录,IntelliJ 将触发断点,但不会跳转到关联的源。
- 取消将
/target/generated-sources/annotations
标记为生成的源根 - 在生成的源代码中设置断点
- 运行代码以触发断点
- 将
/target/generated-sources/annotations
标记为生成的源根
IntelliJ 现在的行为符合预期。完成后,您可能需要删除 /target/generated-sources/annotations
才能再次触发断点。
我创建了an IntelliJ bug for this issue 。请点赞。
关于java - IntelliJ 中生成代码的源代码级调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415886/