【问题标题】:Java source code not shown in Eclipse debug viewEclipse 调试视图中未显示 Java 源代码
【发布时间】:2012-08-16 19:08:02
【问题描述】:

我正在远程调试 Java 应用程序并使用 Eclipse 的调试视图。基本调试过程运行良好,我可以在调试视图中的相关断点处看到方法堆栈跟踪。但是,我在下面的选项卡中没有看到相应的源代码,它说:

找不到来源

源文件已经在我的 Eclipse 项目中,我可以在 Java 视图中看到它们。我已经编辑了源查找路径并将 *.java 文件添加到其中。但即便如此,我也没有在执行停止的调试视图中看到源代码。任何有关这方面的线索将不胜感激。

【问题讨论】:

  • 我过去在同时使用已编译的 JAR 和单独的源 JAR(确切地说是 BouncyCastle PGP 库)时遇到过这种情况。编译后的 JAR 去除了行号,这使调试器无法知道如何单步执行源 JAR。解决方案是从源代码重建 JAR,而不删除行号。
  • 请同时发布类路径的快照。

标签: java eclipse debugging remote-debugging


【解决方案1】:

对于您一直用于远程调试的运行/调试配置,您是否按照以下步骤操作:

  1. “运行 -> 调试配置...”
  2. 从左侧的树中选择远程配置
  3. 点击“来源”标签
  4. 点击“添加...”按钮
  5. 按照向导操作(添加包含正在调试的源的项目)。

如果是这样,您可以发布Run Configuration 的快照吗?

我通常使用Remote Debug 运行配置将Add Source 设置为Java Projects 到运行/调试配置上的Source 选项卡。因此,要添加一个名为 so 的项目,我将按如下方式进行:

并且在选择项目时,选中两个复选框:

最终以这个结束:

【讨论】:

  • 添加项目后有时仍会出现错误。要解决此问题,请尝试使用 -clean 选项从命令行运行 Eclipse。
【解决方案2】:

我已经完成了以下步骤,它对我有用:

  1. 运行 > 运行配置
  2. Java 应用程序 > 单击源选项卡
  3. 通过选择选项“文件系统目录”来包含项目
  4. 调试开始显示源代码。

【讨论】:

  • 感谢 Arpita,这是消除混乱的解决方案
【解决方案3】:

您可能正在使用自动重新编译和重新加载类的 JRebel。不幸的是,Eclipse Debugger 不适用于以这种方式重新加载的类。为了确保 Eclipse 在更改后可以正常使用该类,您必须重新启动 Web 应用程序容器。

【讨论】:

  • JRebel 不会重新编译代码,它使用 *class 文件运行。对于 Eclipse 调试器,您需要安装 IDE 插件来帮助调试器帮助它识别新代码。
猜你喜欢
  • 2013-11-12
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
相关资源
最近更新 更多