在调试Java代码时,视图" Variables"和" Expressions"中的字符串仅显示到一定长度,然后Eclipse显示" ..."。
有什么办法检查整个字符串吗? (这减轻了添加日志语句以在任何地方进行调试的痛苦)
您在哪里看到这种行为? 调试器的哪一部分?
附带说明,这可能是一个误称,因为它可能对您不起作用,但是如果您使用java.util.logging或log4j之类的调试库,则可以轻松地将调试语句(具有不同级别的调试)转换为 打印输出或日志文件,它可能给您带来在调试窗口中筛选字符串可能无法获得的优势。 只是一个想法=)
在"变量"视图中,可以右键单击"详细信息"窗格(显示字符串内容的部分),然后选择"最大长度..."弹出菜单。相同的长度适用于表达式检查器弹出窗口以及其他几个地方。
比所选方法更好的解决方案。谢谢!
值得指出的是,"详细信息窗格"是显示字符串内容的部分。
如何在日食开普勒中做到这一点?请帮助
好消息是,当将鼠标悬停在变量上,在"检查"窗口或"表达式"视图中检查并在"显示"视图中显示值时,此更改似乎也会影响显示的长度。
Ive更新了正确的解决方案(较早接受的解决方案是真正旧Eclipse版本的唯一解决方案)。
在"变量"视图中,右键单击变量,然后选择"更改值"。如果变量很大,则必须等待几分钟(在这种情况下Eclipse不响应命令),但最终Eclipse将完整显示变量。
我只能看到"data:imagebitmap;base64,9j4AAQSkZJRgABAQAAAQABAAD2wBDAAEBAQEBAQEBAQEBAQEBAQE... (length: 22869)"。设置"最大长度"选项不起作用,并且也设置"更改值"。
@falko" Max Length"对我不起作用," Change value"没问题(在等待几秒钟后,具体取决于变量长度)。
至少在我的系统上,这比增加"最大长度"(Max Length)慢得多(请参阅其他答案)。
eclipse对您的想法不太满意。.我尝试过此方法,从现在起30分钟后,我一直等着对eclipse的任何反应。.Buuut:似乎起作用;)
如果您的字符串很长,我可以使用另一种策略:将其转储到文件中。我在"显示"视图中使用了一段代码,该代码经过评估可以将数据转储到文件中。我使用Commons IO,但是您可以使用仅JDK方法。
org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File(""), );
当然,您需要在类路径中使用Commons IO JAR才能正常工作。如果您不这样做,请诉诸JDK。
不错的解决方法。我个人将这个答案作为最佳答案。注意:必须为运行JVM的系统定义,如果您进行远程调试,则有所不同,在这种情况下,文件将写在远程系统上,而不是在运行Eclipse的工作站上。
从eclipse调试视图查看String值的最佳方法如下。
1)切换到Eclipse中的调试视图
2)在变量窗格中选择所需的变量。
3)右键单击显示值的变量窗格的显示区域,然后单击最大长度。在"配置详细信息窗格"中输入最大字符值。
4)干杯
这种图形化的解释确实很有帮助。 +1
当调试器到达所需的String值时,只需键入sysOut语句
System.out.println("The value is :
" + query);
选择上面的语句,右键单击->执行
它将在控制台上打印值
Eclipse火星中没有" maxLength"。而且,"更改值"仅适用于"变量",而不适用于"表达式",因此以上内容都不适合我。
并且,表达式在中间而不是在结尾处切掉。我猜他们改变了默认行为。
对我唯一有效的方法是,扩展表达式名称列的宽度,然后单击表达式以将其全部选中以查看全长内容。
对于基于Eclipse的基于javascript的调试,"更改值"方法和"最大长度"方法对我都失败了,将必需的对象添加到watch(Expressions),然后右键单击监视的表达式以选择"加载完整值"是唯一的解决方案对我有用,但即使这样,也会在输出中插入不需要的" n"。
注意-必须设置"最大长度",才能使"加载完整值"加载值直到最大长度(eclipse中的默认值为10000)。请参考以上答案,以了解如何设置最大长度。