在 Eclipse 中调试时,我可以在返回之前找出返回值吗?

2022-08-31 10:19:36

是否可以在行运行之后和指令指针返回到调用函数之前查看方法的返回值?

我正在调试我无法修改的代码(阅读:不想重新编译第三方库),有时它会跳转到我没有源代码的代码,或者返回表达式有副作用,阻止我只能在“显示”选项卡中运行表达式。

通常,返回值在复合语句中使用,因此“变量”视图永远不会向我显示该值(因此希望在控件返回到调用函数之前查看结果)。

更新:我无法使用表达式查看器,因为语句中存在副作用。


答案 1

此功能已添加到 Eclipse 版本 4.7 M2 的 Eclipse bug 40912 下。

要使用它:

  • 单步执行语句(使用“单步执行”或“单步返回”)return
  • 现在变量视图中的第一行将显示 return 语句的结果,如“[语句 xxx] 返回:”

有关详细信息,请参阅Eclipse Project Oxygen (4.7) M2 - New and Noteworthy


答案 2

为此找到了一个非常好的捷径。选择返回值的表达式,然后按

Ctrl + Shift + D

这将显示返回语句的值。在不能或不想仅出于调试目的进行更改的情况下,这非常有用。

希望这有帮助。

注意:尚未使用第三方库对此进行测试,但它对我的代码工作正常。在 Eclipse Java EE IDE for Web Developers 上对此进行了测试。版本:君诺服务第1版