如何在Eclipse调试器中显示数组长度?

时间:2015-09-16 07:54:41

标签: java arrays eclipse debugging

在Eclipse中调试java程序时,我可以看到(例如在 Variables视图中)任意数组的内容,请参见下面的图片(带有ByteArrayInputStream.buf字段)。

Eclipse Variables view with an array

但我无法在任何地方找到数组长度字段。有没有办法在Eclipse调试器中显示数组的长度?我该怎么做?

2 个答案:

答案 0 :(得分:3)

谢谢@ThorbjørnRavnAndersen的回答(评论)。你是对的,最新的数组段(在我的例子中:[1700..1768])保持长度。

全貌:

the whole picture

答案 1 :(得分:3)

您可以使用“表达式”视图并评估length成员:

Expression tab screenshot

请记住,最后一个索引比长度少一个!

虽然这适用于 public 数组成员,但似乎受保护成员需要显式强制转换。请考虑以下代码:

...
ByteArrayInputStream is = new ByteArrayInputStream(new byte[1769]);
...

现在,在评估is.buf时,“表达式”视图会显示问题中显示的数组转储,但评估is.buf.length会失败并显示<error(s)_during_the_evaluation>。如果我们向ByteArrayInputStream添加显式转换,则评估有效:

enter image description here