调试时,源代码与字节代码IntelliJ 15不匹配

时间:2017-02-11 13:46:26

标签: java intellij-idea

我在IntelliJ中调试Java代码时遇到了一个问题。

我已连接到远程服务器,我使用Maven构建我的项目,项目正在构建,多次验证。

每次插入调试点时,IntelliJ都会返回错误消息“此时没有可执行代码”。插入一些断点时,IntelliJ会在执行“源代码与字节代码不匹配”时返回错误消息。

尝试在各种链接中提供的解决方案,例如:使用同步选项,使缓存无效,重建等。

1 个答案:

答案 0 :(得分:3)

您需要确保IDE中的源代码与远程JVM中加载的类相对应。

可能是您在类路径中有一些额外的jar,其中较旧的类版本会覆盖更新的版本,或者代码是在没有调试信息的情况下构建的,或者某些注释处理器/混淆器在构建过程中更改了目标类。

使用javap或反编译器可以帮助检测不同步的类。

正如您在评论中提到的,服务器上运行的代码来自与IDE中的代码不同的git分支。通过在IDE中重建项目并将实际代码部署到服务器,可以避免这种情况。