在行运行之后和指令指针返回调用函数之前,是否可以看到方法的返回值?
我正在调试我无法修改的代码(读取:不想重新编译第三方库),有时它跳转到我没有源代码的代码或者返回表达式有副作用阻止我能够在显示选项卡中运行表达式.
通常返回值在复合语句中使用,因此Variables视图永远不会向我显示该值(因此希望在控制返回到调用函数之前查看结果).
更新:我不能使用表达式查看器,因为语句中有副作用.
此功能已添加到Eclipse版本4.7 M2下的Eclipse版本4.7 M2中.
要使用它:
跳过return
声明(使用"Step Over"或"Step Return")
现在变量视图中的第一行将显示return语句的结果,如"[statement xxx]返回:"
有关详细信息,请参阅Eclipse Project Oxygen(4.7)M2 - 新增和值得注意的事项.
找到了一个非常好的捷径.选择返回值的表达式,然后按
Ctrl + Shift + D
这将显示return语句的值.如果您不能或不想仅仅为了调试目的而进行更改,这非常有用.
希望这可以帮助.
注意:尚未使用第三方库对此进行测试,但它对我的代码工作正常.在用于Web开发人员的Eclipse Java EE IDE上进行了测试.版本:Juno Service Release 1
这就是为什么我总是坚持使用以下方法:
MyReturnedType foo() { MyReturnedType result = null; // do your stuff, modify the result or not return result; }
我的规则:
只有一个return语句,只在方法结束时(最后允许)
始终有一个本地调用的结果,它保存返回值,从默认值开始.
当然,最琐碎的吸气剂是免税的.
这实际上是Eclipse中一个长期存在的错误,可以追溯到IDE的最初几天:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 40912