在使用idea进行调试时,如果遇到源码行数不对或出现"no executable code found at line"的错误,通常是因为idea使用的jdk版本与要调试的源码jdk版本不匹配,或者本地maven配置的jdk版本与idea设置的jdk版本不一致。以下是具体的现象和解决方法:
现象:
在调试JDK源码的ObjectInputStream时,设置断点后出现"No executable code found at line"的提示。

原因:
本次问题的原因是本地远程调试服务器(Linux环境)上的程序。本地环境是Windows下的JDK 1.8版本,而远程服务器是Linux下的JDK 1.8版本。这种版本差异会导致调试时源码行数不匹配。
解决方法:
通过以下步骤来解决这个问题:
- 打开IDEA,选择
File->Project Structure。 - 在
Project Structure窗口中,设置Sourcepath,将JDK指向Linux环境中JDK安装包内的源码包。

通过上述步骤,您可以确保IDEA在调试时使用与远程服务器相同的JDK源码,从而解决源码行数不匹配的问题。










