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

标签 java debugging intellij-idea dagger

我想调试 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 将触发断点,但不会跳转到关联的源。

  1. 取消将 /target/generated-sources/annotations 标记为生成的源根
  2. 在生成的源代码中设置断点
  3. 运行代码以触发断点
  4. /target/generated-sources/annotations 标记为生成的源根

IntelliJ 现在的行为符合预期。完成后,您可能需要删除 /target/generated-sources/annotations 才能再次触发断点。

我创建了an IntelliJ bug for this issue 。请点赞。

关于java - IntelliJ 中生成代码的源代码级调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415886/

相关文章:

java - 为什么 Java 6 Arrays#sort(Object[]) 从合并排序更改为小数组的插入排序?

java - jdbc代码更改以维持连接

Java "too many constants"JVM 错误

ruby-on-rails - 如何在 Ruby on Rails 中执行期间确定 Controller 变量的值?

android-studio - Android Studio 合并 Windows。 (在同一窗口中打开多个项目)

java - 同样的计算怎么会产生不同的结果

debugging - 分析 SO 中 Firefox 插件的 CPU 消耗

VS2008 中的 Javascript 调试器问题

intellij-idea - IntelliJ IDEA和重复类问题

grails - Intellij w/Grails : Cannot resolve symbol for inherited params and methods