vscode调试暂停在反编译的.class文件上,而不是源.java文件上



这件事困扰了我很长一段时间,我还没有找到解决方案。

当我在VSCode中为调试java设置断点时,调试器会暂停在maven目标/classes中的.class文件上,而不是.java文件上。

我希望它像Intellij那样使用.java。当我发现我的错误并编辑代码,然后点击重播,却发现我在.class文件中而不是.java中编辑了代码时,这对我来说真的很烦人。在下一次调试时,.class文件会被覆盖,你会丢失刚才所做的所有更改。

我在github上找到了下面的链接,它提出了同样的问题,但没有答案https://github.com/microsoft/vscode-java-debug/issues/915

我使用的是Microsoft java扩展包。

我在以下设置中遇到了同样的问题:

带有的vscode多根工作区

  • 项目A
  • 程序B
  • 项目C

其中项目A和项目B都引用项目C作为pom.xml 中的依赖项

现在,如果我在项目c的.java文件中设置一个断点,并运行项目a中的代码,它就会在.class文件中暂停。原因是项目A和B使用了不同版本的项目C。

所以我的解决方案是从多根工作区中删除项目b(并创建一个只有项目b和b的单独工作区(

最新更新