调试java程序时如何在eclipse中执行某些功能?

Posted

技术标签:

【中文标题】调试java程序时如何在eclipse中执行某些功能?【英文标题】:How to execute some function in eclipse while debugging a java program? 【发布时间】:2010-10-31 07:27:46 【问题描述】:

就像调试 javascript 的 firebug,

eclipse有这样的功能吗?还是我需要一个插件?

【问题讨论】:

【参考方案1】:

正如其他人所说,您使用“显示”视图。但是对于 Eclipse 的某些变体,它可能有不同的命名。例如,如果您使用 Spring Tool Suite 作为 Eclipse,则 Display 视图对应的 View 名称为 Debug Shell。

【讨论】:

【参考方案2】:

使用调试外壳!来自 node,我已经习惯了在 chrome 中使用 node --inspect 随时弄乱我的环境变量,因此我必须在 eclipse 中找到相同的体验,而不必使用 JDB。

要打开调试外壳,请转到窗口 → 显示视图 → 调试外壳

写完要运行的代码后,只需高亮显示,右键单击,然后执行(⌘U 也可以)

【讨论】:

输出在哪里打印? @vigamage 输出打印到控制台选项卡。但是,任何异常都会打印到 Debug Shell 选项卡 @vigamage - 如果您选择检查或显示而不是执行,您将立即看到结果。 知道为什么我只有剪切、复制之类的东西吗? @Gqqnbig 这是一个很晚的响应,但这通常表明您的程序没有运行/它可能已经崩溃(检查控制台!),或者您不在正确的选项卡上.除此之外,不知道【参考方案3】:

我目前正在使用 Eclipse Photon (v4.8.0)。 Eclipse 将“Display”视图名称更改为“Debug Shell View”。 在这里,您可以即时执行命令。

【讨论】:

2019-03 也已更名。【参考方案4】:

补充所有惊人的答案,对于 mac 用户是 cmd + D

【讨论】:

【参考方案5】:

选择线路并按ctrl+shift+Dctrl+shift+I 这将在弹出窗口中给出结果。

【讨论】:

我们可以在不选择代码的情况下执行此操作吗?我的意思是通过按 Ctrl + shift + D 来执行 Debug Shell 中存在的所有代码?并且执行表达式的输出也显示在调试 shell 本身中,这导致开发人员在运行下一个表达式之前手动删除先前执行的表达式的输出。这是非常乏味的。 Eclipse 应该有 IntelliJ 样式的 Evaluate 表达式窗口。【参考方案6】:

您还可以创建剪贴簿页面(.jpage)文件并在其中键入您的代码。然后点击运行。试了一下感觉稍微方便了一点。

【讨论】:

【参考方案7】:

使用显示视图,或者更快一点:突出显示要运行的代码并右键单击/执行或 Ctrl+U。

【讨论】:

替代“执行”,使用显示 (Ctrl+Shift+D) 或检查 (Ctrl+Shift+I) 来查看结果。 在 Eclipse Photon 和 2019-03 中,此视图已重命名为“Debug Shell”。【参考方案8】:

您可以使用“显示”视图来评估 eclipse 中的表达式。

查看视图的调试列表。它是 java 工具的标准部分,因此您不需要插件

【讨论】:

但是没有回显,在我输入类似“path.length”的内容后,路径是一个字符串[] 据我记忆(目前不使用 eclipse),您单击运行按钮并显示最后一个表达式的结果。 哦,我需要选择一行来启用“运行”按钮。是这样吗? 我认为@banjollity 实际上已经打开了 eclipse 的副本 :-) 我只是在记忆中徘徊……现在是推荐 Intellij 的好时机【参考方案9】:

您可以在调试时使用显示视图来执行命令。您可以在 Window -> Show View -> Display 中找到它

【讨论】:

我运行这个,但显示选项卡中没有响应:System.out.println(path.length); 好像需要切换到控制台视图才能看到结果,不方便! 选择表达式,右键>显示。这会在同一窗口中显示结果 注意:您仍然需要在显示视图中突出显示该命令并按ctrl+shift+D 来执行它。 (我输入了command; <ENTER>,想知道为什么什么都没发生)。【参考方案10】:

我相信您正在寻找的是“观看表达式”。只需在源代码视图中标记这段代码,右键单击并选择“观看”即可。

【讨论】:

您还可以在调试时使用“显示”视图来执行任何代码。 我看到了,但是输入“System.out.println('test');”后没有任何反应进入它。 如何让它在显示视图下回显一些结果? 如果您在显示视图中突出显示表达式(顺便说一句,这也允许内容辅助),您可以右键单击并选择“检查”(运行表达式并在结果中显示检查器树)、“执行”(运行表达式)和“显示”(运行表达式并打印结果) @ScottStanchfield 我花了大约 15-20 分钟来了解如何正确显示值。你是我在堆栈溢出中发现的唯一一个描述了它在 Eclipse 中工作方式的人!谢谢。我习惯了 Visual Studio 的方式,在 Eclipse 中遵循同样的方式让我抓狂,因为这种方式没有输出。

以上是关于调试java程序时如何在eclipse中执行某些功能?的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse 中调试 Java 时移动指令指针

在 java 的 Eclipse IDE 中进行调试时,我如何采取倒退步骤

在eclipse中调试多个线程

java调试中debug怎么用

如何从插件访问 Eclipse Java 调试器?

如何调试原生 Android 应用程序?