【问题标题】:Eclipse. How to see source of standard functions in debugging?蚀。如何在调试中查看标准函数的来源?
【发布时间】:2014-09-10 09:29:53
【问题描述】:

假设我有以下代码:

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.pop();

在 Eclipse 中调试时,我可以看到 push() 或 pop() 函数的来源或 Stack 的构造函数吗?按 F5 不会进入其中 - 只是跨步。是否需要一些配置?

感谢您的帮助。

【问题讨论】:

  • 你链接JDK源代码了吗? www.mkyong.com/eclipse/eclipse-how-to-attach-jdk-source-code/
  • 我做到了,我也可以通过按 F3 来查看源代码,但调试只是跳过它们:(
  • 您是否对热键进行了任何更改?它是否与调试视图中的“进入”按钮一起使用?
  • 不,它没有 - 我正在按“步入”按钮。另外奇怪的是,当我试图从空堆栈中弹出一个项目时,它会找到 Throwable.class - 它进入 throwable 并执行所有操作,但不在 pop 函数中

标签: java eclipse debugging


【解决方案1】:

没有标准函数,而是一个 JDK 类库。 通常,这些类可以通过 Eclipse 的“Installed JDKs”面板附加源代码。查找例如mkyong article on that subject

【讨论】:

【解决方案2】:

在 Eclipse 中,选择 Windows -> Preferences -> Java -> Installed JREs , 展开 rt.jar,选择“Source attachment”并从磁盘驱动器中找到 src.zip。

src.zip 在 jdk 文件夹中找到

【讨论】:

  • 谢谢,是吗 - 附加 src.zip - 还是一样 - 没有进入 push 或 pop - 只是跨步:(
  • 你在调试java SE Stack类吗?如果您正在调试一个 android 项目,则必须附加 android.jar 而不是 rt.jar 的源代码。
  • 我建议您 ctrl+单击代码中的 Stack 类并查看它链接到的位置。如果它没有链接到任何源代码,那么它会给您一条错误消息,告诉您缺少哪个 jar 文件的源。现在您可以通过附加源来修复它。
  • 这很奇怪 - ctrl+click 正在打开 Stack 的源代码,并且在 pop() 函数上按 F3 会在 Stack.class 中打开它的声明,但在 Eclipse 中按 Step Into 只会跳过它
猜你喜欢
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多