IntelliJ中生成的代码的源级调试

时间:2014-03-14 21:16:59

标签: java debugging intellij-idea dagger

我想调试IntelliJ中由Dagger生成的代码。 Dagger生成的源文件将放入/target/generated-test-sources/test-annotations/target/generated-sources/annotations

我查看了“运行/调试配置”对话框,并没有看到任何明显的内容。我还检查了模块设置,并且这两个都被列为源文件夹,因此IntelliJ肯定知道他们的来源,但由于某种原因不会遇到任何断点我输入了生成的代码。

3 个答案:

答案 0 :(得分:2)

对于IntelliJ 13.1.5:

如果/target/generated-sources/annotations被标记为生成的源根,则IntelliJ永远不会触发断点。如果/target/generated-sources/annotations未标记为生成的源根目录,则IntelliJ将触发断点,但不会跳转到关联的源。

  1. 取消标记/target/generated-sources/annotations作为生成的源根目录
  2. 在生成的来源中设置断点
  3. 运行代码以触发断点
  4. /target/generated-sources/annotations标记为生成的源根
  5. IntelliJ现在表现得如预期。完成断点后,您可能需要删除/target/generated-sources/annotations

    我创建了an IntelliJ bug for this issue。请投票。

答案 1 :(得分:0)

您需要的只是IDEA可用的源文件,那么您应该能够进行调试。确保包含文件的文件夹包含在项目结构设置中,然后您应该能够使用ctrl + n打开文件并设置断点。

答案 2 :(得分:0)

我的工作方式是:

  • 扩展生成的工件(jar,war,ear,...)
  • 打开(并反编译)类文件
  • 在此处输入断点

这时IntelliJ会按预期触发断点。