我想知道是否有办法查看非声明变量的值,因为它们被传递到函数中,在执行该函数之后。例如,如果我正在调试和行
foo.setBar(baz.getBar());
已经通过(但仍在范围内),如何查看传递给setBar()
的内容的值?我知道我可以通过许多其他方式看到这一点,例如通过进入setBar()
调用,或者将baz.getBar()
分配给临时变量 - 但这不是我要求的。
编辑:基本上,我在调试时感到受到惩罚(因为失去了查看某些信息的能力),只是因为我没有声明每个变量。
并且,我知道我可以在事后检查bar
(如果我知道它没有改变)但在这种情况下它不是那么简单,因为我正在处理的不仅仅是POJO或JavaBeans(提出这个问题的对象是一个HTTP请求 - 是的,我已经尝试过检查它了。)
答案 0 :(得分:14)
在Debug透视图中,打开显示窗口(Window => Show View => Display),编写要显示的代码(例如baz.getBar()
),选择它,然后右键单击并选择“显示”或使用快捷方式显示其值。
答案 1 :(得分:10)
更简单的方法是选择一个表达式(这里:baz.getBar())并按CTRL + SHIFT + I(用于检查)。这会打开一个工具提示,就像你想知道的一样。
答案 2 :(得分:5)
当然,您可以使用“表达式”视图(窗口 - >显示视图 - >表达式)。
答案 3 :(得分:0)
在“表达式”视图中,添加以下表达式
baz.getBar()
并且它将在调试时调度(如果调试器可以看到它)