我想在 IntelliJ中调试Dagger生成的代码。Dagger 生成的源文件放入/target/generated-test-sources/test-annotations
和/target/generated-sources/annotations
.
我查看了运行/调试配置对话框,并没有看到任何明显的东西。我还检查了模块设置,这两个都被列为源文件夹,所以 IntelliJ 肯定知道它们是源,但由于某种原因,我在生成的代码中放置的任何断点都不会命中。
我想在 IntelliJ中调试Dagger生成的代码。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
才能再次触发断点。
我为此问题创建了一个 IntelliJ 错误。请点赞。
您所需要的只是 IDEA 可用的源文件,然后您应该能够调试。确保包含文件的文件夹包含在项目结构设置中,然后您应该能够使用 ctrl+n 打开文件并设置断点。
我的工作解决方法是:
此时 IntelliJ 按预期触发断点。