【发布时间】:2014-08-24 11:27:04
【问题描述】:
我已经安装了 IntelliJ IDEA 并升级了一个 Web 项目以与 Tomcat 一起运行。它工作正常,但一段时间后我发现我无法调试添加到课程末尾的一些代码。因为当我在这段代码中设置断点时,它标记为无效。如果我悬停无效标记,则会出现警告消息Warning: No executable code found at line xxx in class yyy。
Web 应用程序在调试模式下运行时在编辑器中的源代码截图:
有谁知道为什么 IntelliJ Idea 在那里找不到可执行代码,以及如何在编译和运行的代码中设置一个有效的断点,比如第一个断点?
【问题讨论】:
-
您是否正在通过 Tomcat 进行远程调试?如果是这样,请确保您正在查看的源代码与部署到 Tomcat 的已编译类相同。这通常是导致问题的原因。
-
@eitanfar 看来你是对的,但如果部署到 Tomcat 的类是最新的,怎么会发生这种情况?
-
嗯,它有时会发生,主要是由于文件时间戳问题等。我正在使用 ANT 使用 Catalina ANT 任务一次部署我所有班级的 budled war,这样做完全避免了这些问题。当然,那样会更慢。
-
@eitanfar你不知道Idea并没有部署到本地运行的Tomcat上,它只是在外部配置中使用
docBase。 -
没关系。最后,您将使用一种或另一种构建系统,而不是依赖 IntelliJ,那么为什么不现在开始呢?
标签: java debugging intellij-idea breakpoints