在Eclipse中调试时查看完整的字符串

时间:2010-05-20 13:08:05

标签: java eclipse debugging

在调试Java代码时,视图“变量”和“表达式”中的字符串仅显示一定长度,之后Eclipse显示“...”

有没有办法检查整个字符串? (这减轻了添加日志语句以进行调试的痛苦)

9 个答案:

答案 0 :(得分:206)

在“变量”视图中,您可以右键单击“详细信息”窗格(显示字符串内容的部分),然后选择“最大长度...”弹出菜单。相同的长度适用于表达式检查器弹出窗口和其他一些地方。

enter image description here

答案 1 :(得分:133)

变量视图中,右键单击变量并选择更改值。如果您的变量很大,则必须等待几分钟(在这种情况下,Eclipse不会响应命令)但最终Eclipse将完全显示您的变量。

答案 2 :(得分:19)

如果你有一个非常长的字符串,我使用不同的策略:将其转储到文件中。我在Display视图中使用了一段代码,它被评估为将数据转储到文件中。我使用Commons IO,但你只能使用JDK方法。

org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File("<filename>"), <expression to evaluate>);

当然,您需要在类路径中使用Commons IO JAR才能工作。如果不这样做,请使用JDK工作。

答案 3 :(得分:11)

从eclipse调试视图查看String值的最佳方法如下。

1)切换到Eclipse中的调试视图

2)在变量窗格中选择所需的变量。

3)右键单击显示值的变量窗格的显示区域,然后单击“最大长度”。在“配置详细信息窗格”中输入最大字符值。

4)干杯

enter image description here

答案 4 :(得分:3)

当调试器到达您想要String值的位置时,只需键入sysOut语句

即可
System.out.println("The value is : \n " + query);

选择上面的语句,右键单击 - &gt;执行

它将在控制台上打印值

答案 5 :(得分:0)

对于eclipse上基于javascript的调试,“更改值”方法和“最大长度”方法对我来说都失败了,添加了要监视的所需对象(表达式)然后右键单击观看表达式以选择“加载全部值”是唯一适用于我的解决方案,但甚至会在输出中插入不需要的“\ n”

注意 - 必须为“加载全部值”设置“最大长度”才能正常工作,因为它会将值加载到最大长度(默认情况下为eclipse为10000)。请参阅上面的答案,了解如何设置最大长度。

答案 6 :(得分:0)

没有&#34; maxLength&#34;在Eclipse Mars中。而且,&#34;改变价值&#34;只适用于&#34;变量&#34;,而不是&#34;表达式&#34;,所以以上都不适用于我。

enter image description here

并且,表达式在中间切割,而不是在最后。我猜他们改变了默认行为。

唯一适合我的方法是扩展表达式名称列的宽度,然后单击表达式将其全部选中以查看全长内容。

答案 7 :(得分:0)

以上内容对我没有任何帮助,此外,无法按所述找到Eclipse中的某些用户界面元素。我正在使用STS 4.3.1。

我需要的值确实很大,它是一个巨大的JSON请求的一部分。解决方法是在Eclipse Debug Shell控制台中使用表达式,然后输出整个值的子字符串。由于您可以看到部分值,因此请检查它,并使用最后几个文字作为输出字符串的下一个块的位置。重复此方法,直到获得所需的内容:

String result = new String(reallyBigByteArrayValue, "UTF-8");
result.substring(result.indexOf("some-unique-text"));

答案 8 :(得分:0)

在 Eclipse IDE 2020-09 中,右键单击它是“Pretty print to console”。 Right Click dialog

从控制台可以进行全长复制。