Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ IDEA无效断点_Java_Debugging_Intellij Idea_Breakpoints - Fatal编程技术网

Java IntelliJ IDEA无效断点

Java IntelliJ IDEA无效断点,java,debugging,intellij-idea,breakpoints,Java,Debugging,Intellij Idea,Breakpoints,我已经安装了IntelliJ IDEA,并升级了一个web项目,以便与Tomcat一起运行。它工作得很好,但过了一段时间后,我发现我无法调试添加到类末尾的一些代码。因为当我在这段代码中设置断点时,它会标记为无效。如果我将鼠标悬停在无效标记上,将显示警告消息警告:在类yyy的第xxx行中未找到可执行代码 web应用程序在调试模式下运行时编辑器中源代码的屏幕截图: 有人知道IntelliJ Idea为什么在那里找不到可执行代码,以及如何设置一个有效的断点,就像编译并运行的代码中的第一个断点一样吗?

我已经安装了IntelliJ IDEA,并升级了一个web项目,以便与Tomcat一起运行。它工作得很好,但过了一段时间后,我发现我无法调试添加到类末尾的一些代码。因为当我在这段代码中设置断点时,它会标记为无效。如果我将鼠标悬停在无效标记上,将显示警告消息
警告:在类yyy的第xxx行中未找到可执行代码

web应用程序在调试模式下运行时编辑器中源代码的屏幕截图:


有人知道IntelliJ Idea为什么在那里找不到可执行代码,以及如何设置一个有效的断点,就像编译并运行的代码中的第一个断点一样吗?

当我遇到这个问题时,我会进入“文件->使缓存失效并重新启动”菜单。问题可能是IntelliJ缓存尚未更新。

您是否正在通过Tomcat进行远程调试?如果是这样,请确保您正在查找的源代码与部署到Tomcat的编译类相同。这通常是导致问题的原因。@eitanfar似乎你是对的,但如果部署到Tomcat的类是最新的,怎么会发生这种情况呢?好吧,这种情况只是偶尔发生,主要是由于文件时间戳等问题。我使用ANT使用Catalina ANT任务一次部署所有类的budled war,这样做完全避免了这些问题。当然,那样会慢一些。@eitanfar难道你不知道Idea不会部署到本地运行的Tomcat上,它只是在外部配置中使用
docBase
。这无关紧要。最后,您将使用一个或另一个构建系统,而不是依赖IntelliJ,那么为什么不现在就开始呢?